|
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 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 } |
|
35 |
|
36 reportCompare(true, true); |