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