Sat, 03 Jan 2015 20:18:00 +0100
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.
1 // |reftest| skip-if(!this.hasOwnProperty("Intl"))
2 // -- test that NumberFormat correctly formats 0 with various numbers of significant digits
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/. */
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 ];
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 }
36 reportCompare(true, true);