js/xpconnect/tests/unit/test_file2.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 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 const Ci = Components.interfaces;
     7 function run_test() {
     8   // throw if anything goes wrong
    10   // find the current directory path
    11   var file = Components.classes["@mozilla.org/file/directory_service;1"]
    12              .getService(Ci.nsIProperties)
    13              .get("CurWorkD", Ci.nsIFile);
    14   file.append("xpcshell.ini");
    16   // should be able to construct a file
    17   var f1 = File(file.path);
    18   // with either constructor syntax
    19   var f2 = new File(file.path);
    20   // and with nsIFiles
    21   var f3 = File(file);
    22   var f4 = new File(file);
    24   // do some tests
    25   do_check_true(f1 instanceof Ci.nsIDOMFile, "Should be a DOM File");
    26   do_check_true(f2 instanceof Ci.nsIDOMFile, "Should be a DOM File");
    27   do_check_true(f3 instanceof Ci.nsIDOMFile, "Should be a DOM File");
    28   do_check_true(f4 instanceof Ci.nsIDOMFile, "Should be a DOM File");
    30   do_check_true(f1.name == "xpcshell.ini", "Should be the right file");
    31   do_check_true(f2.name == "xpcshell.ini", "Should be the right file");
    32   do_check_true(f3.name == "xpcshell.ini", "Should be the right file");
    33   do_check_true(f4.name == "xpcshell.ini", "Should be the right file");
    35   do_check_true(f1.type == "", "Should be the right type");
    36   do_check_true(f2.type == "", "Should be the right type");
    37   do_check_true(f3.type == "", "Should be the right type");
    38   do_check_true(f4.type == "", "Should be the right type");
    40   var threw = false;
    41   try {
    42     // Needs a ctor argument
    43     var f7 = File();
    44   } catch (e) {
    45     threw = true;
    46   }
    47   do_check_true(threw, "No ctor arguments should throw");
    49   var threw = false;
    50   try {
    51     // Needs a valid ctor argument
    52     var f7 = File(Date(132131532));
    53   } catch (e) {
    54     threw = true;
    55   }
    56   do_check_true(threw, "Passing a random object should fail");
    58   var threw = false
    59   try {
    60     // Directories fail
    61     var dir = Components.classes["@mozilla.org/file/directory_service;1"]
    62                         .getService(Ci.nsIProperties)
    63                         .get("CurWorkD", Ci.nsIFile);
    64     var f7 = File(dir)
    65   } catch (e) {
    66     threw = true;
    67   }
    68   do_check_true(threw, "Can't create a File object for a directory");
    69 }

mercurial