tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

select.js (1775B)


      1 // |reftest| skip-if(!this.hasOwnProperty('Intl'))
      2 
      3 // Tests the format function with a diverse set of locales and options.
      4 
      5 var pr;
      6 
      7 pr = new Intl.PluralRules("en-us");
      8 assertEq(pr.select(0), "other");
      9 assertEq(pr.select(0.5), "other");
     10 assertEq(pr.select(1.2), "other");
     11 assertEq(pr.select(1.5), "other");
     12 assertEq(pr.select(1.7), "other");
     13 assertEq(pr.select(-1), "one");
     14 assertEq(pr.select(1), "one");
     15 assertEq(pr.select("1"), "one");
     16 assertEq(pr.select(123456789.123456789), "other");
     17 
     18 pr = new Intl.PluralRules("de", {type: "cardinal"});
     19 assertEq(pr.select(0), "other");
     20 assertEq(pr.select(0.5), "other");
     21 assertEq(pr.select(1.2), "other");
     22 assertEq(pr.select(1.5), "other");
     23 assertEq(pr.select(1.7), "other");
     24 assertEq(pr.select(-1), "one");
     25 
     26 pr = new Intl.PluralRules("de", {type: "ordinal"});
     27 assertEq(pr.select(0), "other");
     28 assertEq(pr.select(0.5), "other");
     29 assertEq(pr.select(1.2), "other");
     30 assertEq(pr.select(1.5), "other");
     31 assertEq(pr.select(1.7), "other");
     32 assertEq(pr.select(-1), "other");
     33 
     34 pr = new Intl.PluralRules("pl", {type: "cardinal"});
     35 assertEq(pr.select(0), "many");
     36 assertEq(pr.select(0.5), "other");
     37 assertEq(pr.select(1), "one");
     38 
     39 pr = new Intl.PluralRules("pl", {type: "cardinal", maximumFractionDigits: 0});
     40 assertEq(pr.select(1.1), "one");
     41 
     42 pr = new Intl.PluralRules("pl", {type: "cardinal", maximumFractionDigits: 1});
     43 assertEq(pr.select(1.1), "other");
     44 
     45 pr = new Intl.PluralRules("en", {type: "cardinal", minimumFractionDigits: 0});
     46 assertEq(pr.select(1), "one");
     47 
     48 pr = new Intl.PluralRules("en", {type: "cardinal", minimumFractionDigits: 2});
     49 assertEq(pr.select(1), "other");
     50 
     51 var weirdCases = [
     52  NaN,
     53  Infinity,
     54  "word",
     55  [0,2],
     56  {},
     57 ];
     58 
     59 for (let c of weirdCases) {
     60  assertEq(pr.select(c), "other");
     61 };
     62 
     63 reportCompare(0, 0, 'ok');