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);