tor-browser

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

significantDigitsOfZero.js (2002B)


      1 // |reftest| skip-if(!this.hasOwnProperty("Intl"))
      2 // -- test that NumberFormat correctly formats 0 with various numbers of significant digits
      3 
      4 /* This Source Code Form is subject to the terms of the Mozilla Public
      5 * License, v. 2.0. If a copy of the MPL was not distributed with this
      6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      7 
      8 var testData = [
      9    {minimumSignificantDigits: 1, maximumSignificantDigits: 1, expected: "0"},
     10    {minimumSignificantDigits: 1, maximumSignificantDigits: 2, expected: "0"},
     11    {minimumSignificantDigits: 1, maximumSignificantDigits: 3, expected: "0"},
     12    {minimumSignificantDigits: 1, maximumSignificantDigits: 4, expected: "0"},
     13    {minimumSignificantDigits: 1, maximumSignificantDigits: 5, expected: "0"},
     14    {minimumSignificantDigits: 2, maximumSignificantDigits: 2, expected: "0.0"},
     15    {minimumSignificantDigits: 2, maximumSignificantDigits: 3, expected: "0.0"},
     16    {minimumSignificantDigits: 2, maximumSignificantDigits: 4, expected: "0.0"},
     17    {minimumSignificantDigits: 2, maximumSignificantDigits: 5, expected: "0.0"},
     18    {minimumSignificantDigits: 3, maximumSignificantDigits: 3, expected: "0.00"},
     19    {minimumSignificantDigits: 3, maximumSignificantDigits: 4, expected: "0.00"},
     20    {minimumSignificantDigits: 3, maximumSignificantDigits: 5, expected: "0.00"},
     21 ];
     22 
     23 for (var i = 0; i < testData.length; i++) {
     24    var min = testData[i].minimumSignificantDigits;
     25    var max = testData[i].maximumSignificantDigits;
     26    var options = {minimumSignificantDigits: min, maximumSignificantDigits: max};
     27    var format = new Intl.NumberFormat("en-US", options);
     28    var actual = format.format(0);
     29    var expected = testData[i].expected;
     30    assertEq(actual, expected,
     31             "Wrong formatted string for 0 with " +
     32             "minimumSignificantDigits " + min +
     33             ", maximumSignificantDigits " + max +
     34             ": expected \"" + expected +
     35             "\", actual \"" + actual + "\"");
     36 }
     37 
     38 reportCompare(true, true);