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 /* Tests transliteration of new characters in Unicode 5.1, 5.2, and 6.0
2 */
4 const inTeluguFractions = "\u0C78\u0C79\u0C7A\u0C7B\u0C7C\u0C7D\u0C7E";
5 const inMalayalamNumbers = "\u0D70\u0D71\u0D72\u0D73\u0D74\u0D75";
7 /* MYANMAR SHAN DIGIT ONE,
8 SUNDANESE DIGIT TWO,
9 LEPCHA DIGIT THREE,
10 OL CHIKI DIGIT FOUR,
11 VAI DIGIT FIVE,
12 SAURASHTRA DIGIT SIX
13 KAYAH LI DIGIT SEVEN
14 CHAM DIGIT EIGHT
15 JAVANESE DIGIT NINE
16 MEETEI MAYEK DIGIT ZERO */
17 const inDigits = "\u1091\u1BB2\u1C43\u1C54\uA625\uA8D6\uA907\uAA58\uA9D9\uABF0";
18 const inRomanNumerals = "\u2185\u2186\u2187\u2188";
19 const inSuperSubscripts = "\u2C7C\u2C7D\u2095\u209C";
21 const expectedTeluguFractions = "[0][1][2][3][1][2][3]";
22 const expectedMalayalamNumbers = "[10][100][1000][1/4][1/2][3/4]";
23 const expectedDigits = "1234567890";
24 const expectedRomanNumerals = "[6][50][50000][100000]";
25 const expectedSuperSubscripts = "v(j)^(V)v(h)v(t)";
27 const EntityAfterCharsetConv = 512;
28 const transliterate = 8;
30 const charset = "ISO-8859-1";
32 function run_test() {
33 var SaveAsCharset =
34 Components.Constructor("@mozilla.org/intl/saveascharset;1",
35 "nsISaveAsCharset",
36 "Init");
38 var converter = new SaveAsCharset(charset,
39 EntityAfterCharsetConv,
40 transliterate);
42 var outTeluguFractions = converter.Convert(inTeluguFractions);
43 do_check_eq(outTeluguFractions, expectedTeluguFractions);
45 var outMalayalamNumbers = converter.Convert(inMalayalamNumbers);
46 do_check_eq(outMalayalamNumbers, expectedMalayalamNumbers);
48 var outDigits = converter.Convert(inDigits);
49 do_check_eq(outDigits, expectedDigits);
51 var outRomanNumerals = converter.Convert(inRomanNumerals);
52 do_check_eq(outRomanNumerals, expectedRomanNumerals);
54 var outSuperSubscripts = converter.Convert(inSuperSubscripts);
55 do_check_eq(outSuperSubscripts, expectedSuperSubscripts);
56 }