xpcom/tests/unit/test_bug364285-1.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.

     1 const Ci = Components.interfaces;
     2 const Cc = Components.classes;
     4 var nameArray = [
     5  "ascii",                                           // ASCII
     6  "fran\u00E7ais",                                   // Latin-1
     7  "\u0420\u0443\u0441\u0441\u043A\u0438\u0439",      // Cyrillic
     8  "\u65E5\u672C\u8A9E",                              // Japanese
     9  "\u4E2D\u6587",                                    // Chinese
    10  "\uD55C\uAD6D\uC5B4",                              // Korean
    11  "\uD801\uDC0F\uD801\uDC2D\uD801\uDC3B\uD801\uDC2B" // Deseret
    12 ];
    14 function getTempDir()
    15 {
    16     var dirService = Cc["@mozilla.org/file/directory_service;1"]
    17 	.getService(Ci.nsIProperties);
    18     return dirService.get("TmpD", Ci.nsILocalFile);
    19 }
    21 function create_file(fileName)
    22 {
    23     var outFile = getTempDir();
    24     outFile.append(fileName);
    25     outFile.createUnique(outFile.NORMAL_FILE_TYPE, 0600);
    27     var stream = Cc["@mozilla.org/network/file-output-stream;1"]
    28 	.createInstance(Ci.nsIFileOutputStream);
    29     stream.init(outFile, 0x02 | 0x08 | 0x20, 0600, 0);
    30     stream.write("foo", 3);
    31     stream.close();
    33     do_check_eq(outFile.leafName.substr(0, fileName.length), fileName);
    35     return outFile;
    36 }
    38 function test_create(fileName)
    39 {
    40     var file1 = create_file(fileName);
    41     var file2 = create_file(fileName);
    42     file1.remove(false);
    43     file2.remove(false);
    44 }
    46 function run_test()
    47 {
    48     for (var i = 0; i < nameArray.length; ++i) {
    49 	test_create(nameArray[i]);
    50     }
    51 }

mercurial