| // |reftest| skip-if(!this.hasOwnProperty("Intl")) |
| // -- test that NumberFormat correctly formats 0 with various numbers of significant digits |
| |
| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| var testData = [ |
| {minimumSignificantDigits: 1, maximumSignificantDigits: 1, expected: "0"}, |
| {minimumSignificantDigits: 1, maximumSignificantDigits: 2, expected: "0"}, |
| {minimumSignificantDigits: 1, maximumSignificantDigits: 3, expected: "0"}, |
| {minimumSignificantDigits: 1, maximumSignificantDigits: 4, expected: "0"}, |
| {minimumSignificantDigits: 1, maximumSignificantDigits: 5, expected: "0"}, |
| {minimumSignificantDigits: 2, maximumSignificantDigits: 2, expected: "0.0"}, |
| {minimumSignificantDigits: 2, maximumSignificantDigits: 3, expected: "0.0"}, |
| {minimumSignificantDigits: 2, maximumSignificantDigits: 4, expected: "0.0"}, |
| {minimumSignificantDigits: 2, maximumSignificantDigits: 5, expected: "0.0"}, |
| {minimumSignificantDigits: 3, maximumSignificantDigits: 3, expected: "0.00"}, |
| {minimumSignificantDigits: 3, maximumSignificantDigits: 4, expected: "0.00"}, |
| {minimumSignificantDigits: 3, maximumSignificantDigits: 5, expected: "0.00"}, |
| ]; |
| |
| for (var i = 0; i < testData.length; i++) { |
| var min = testData[i].minimumSignificantDigits; |
| var max = testData[i].maximumSignificantDigits; |
| var options = {minimumSignificantDigits: min, maximumSignificantDigits: max}; |
| var format = new Intl.NumberFormat("en-US", options); |
| assertEq(format.format(0), testData[i].expected, |
| "Wrong formatted string for 0 with " + |
| "minimumSignificantDigits " + min + |
| ", maximumSignificantDigits " + max + |
| ": expected \"" + expected + |
| "\", actual \"" + actual + "\""); |
| } |
| |
| reportCompare(true, true); |