js/src/tests/Intl/NumberFormat/significantDigitsOfZero.js

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 // |reftest| skip-if(!this.hasOwnProperty("Intl"))
     2 // -- test that NumberFormat correctly formats 0 with various numbers of significant digits
     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/. */
     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 ];
    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     assertEq(format.format(0), testData[i].expected,
    29              "Wrong formatted string for 0 with " +
    30              "minimumSignificantDigits " + min +
    31              ", maximumSignificantDigits " + max +
    32              ": expected \"" + expected +
    33              "\", actual \"" + actual + "\"");
    34 }
    36 reportCompare(true, true);

mercurial