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

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/tests/Intl/NumberFormat/significantDigitsOfZero.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,36 @@
     1.4 +// |reftest| skip-if(!this.hasOwnProperty("Intl"))
     1.5 +// -- test that NumberFormat correctly formats 0 with various numbers of significant digits
     1.6 +
     1.7 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.8 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.9 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
    1.10 +
    1.11 +var testData = [
    1.12 +    {minimumSignificantDigits: 1, maximumSignificantDigits: 1, expected: "0"},
    1.13 +    {minimumSignificantDigits: 1, maximumSignificantDigits: 2, expected: "0"},
    1.14 +    {minimumSignificantDigits: 1, maximumSignificantDigits: 3, expected: "0"},
    1.15 +    {minimumSignificantDigits: 1, maximumSignificantDigits: 4, expected: "0"},
    1.16 +    {minimumSignificantDigits: 1, maximumSignificantDigits: 5, expected: "0"},
    1.17 +    {minimumSignificantDigits: 2, maximumSignificantDigits: 2, expected: "0.0"},
    1.18 +    {minimumSignificantDigits: 2, maximumSignificantDigits: 3, expected: "0.0"},
    1.19 +    {minimumSignificantDigits: 2, maximumSignificantDigits: 4, expected: "0.0"},
    1.20 +    {minimumSignificantDigits: 2, maximumSignificantDigits: 5, expected: "0.0"},
    1.21 +    {minimumSignificantDigits: 3, maximumSignificantDigits: 3, expected: "0.00"},
    1.22 +    {minimumSignificantDigits: 3, maximumSignificantDigits: 4, expected: "0.00"},
    1.23 +    {minimumSignificantDigits: 3, maximumSignificantDigits: 5, expected: "0.00"},
    1.24 +];
    1.25 +
    1.26 +for (var i = 0; i < testData.length; i++) {
    1.27 +    var min = testData[i].minimumSignificantDigits;
    1.28 +    var max = testData[i].maximumSignificantDigits;
    1.29 +    var options = {minimumSignificantDigits: min, maximumSignificantDigits: max};
    1.30 +    var format = new Intl.NumberFormat("en-US", options);
    1.31 +    assertEq(format.format(0), testData[i].expected,
    1.32 +             "Wrong formatted string for 0 with " +
    1.33 +             "minimumSignificantDigits " + min +
    1.34 +             ", maximumSignificantDigits " + max +
    1.35 +             ": expected \"" + expected +
    1.36 +             "\", actual \"" + actual + "\"");
    1.37 +}
    1.38 +
    1.39 +reportCompare(true, true);

mercurial