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.

michael@0 1 // |reftest| skip-if(!this.hasOwnProperty("Intl"))
michael@0 2 // -- test that NumberFormat correctly formats 0 with various numbers of significant digits
michael@0 3
michael@0 4 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 5 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 7
michael@0 8 var testData = [
michael@0 9 {minimumSignificantDigits: 1, maximumSignificantDigits: 1, expected: "0"},
michael@0 10 {minimumSignificantDigits: 1, maximumSignificantDigits: 2, expected: "0"},
michael@0 11 {minimumSignificantDigits: 1, maximumSignificantDigits: 3, expected: "0"},
michael@0 12 {minimumSignificantDigits: 1, maximumSignificantDigits: 4, expected: "0"},
michael@0 13 {minimumSignificantDigits: 1, maximumSignificantDigits: 5, expected: "0"},
michael@0 14 {minimumSignificantDigits: 2, maximumSignificantDigits: 2, expected: "0.0"},
michael@0 15 {minimumSignificantDigits: 2, maximumSignificantDigits: 3, expected: "0.0"},
michael@0 16 {minimumSignificantDigits: 2, maximumSignificantDigits: 4, expected: "0.0"},
michael@0 17 {minimumSignificantDigits: 2, maximumSignificantDigits: 5, expected: "0.0"},
michael@0 18 {minimumSignificantDigits: 3, maximumSignificantDigits: 3, expected: "0.00"},
michael@0 19 {minimumSignificantDigits: 3, maximumSignificantDigits: 4, expected: "0.00"},
michael@0 20 {minimumSignificantDigits: 3, maximumSignificantDigits: 5, expected: "0.00"},
michael@0 21 ];
michael@0 22
michael@0 23 for (var i = 0; i < testData.length; i++) {
michael@0 24 var min = testData[i].minimumSignificantDigits;
michael@0 25 var max = testData[i].maximumSignificantDigits;
michael@0 26 var options = {minimumSignificantDigits: min, maximumSignificantDigits: max};
michael@0 27 var format = new Intl.NumberFormat("en-US", options);
michael@0 28 assertEq(format.format(0), testData[i].expected,
michael@0 29 "Wrong formatted string for 0 with " +
michael@0 30 "minimumSignificantDigits " + min +
michael@0 31 ", maximumSignificantDigits " + max +
michael@0 32 ": expected \"" + expected +
michael@0 33 "\", actual \"" + actual + "\"");
michael@0 34 }
michael@0 35
michael@0 36 reportCompare(true, true);

mercurial