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

michael@0 1 const Ci = Components.interfaces;
michael@0 2 const Cc = Components.classes;
michael@0 3 const NS_OS_TEMP_DIR = "TmpD";
michael@0 4
michael@0 5 const CWD = do_get_cwd();
michael@0 6 function checkOS(os) {
michael@0 7 const nsILocalFile_ = "nsILocalFile" + os;
michael@0 8 return nsILocalFile_ in Components.interfaces &&
michael@0 9 CWD instanceof Components.interfaces[nsILocalFile_];
michael@0 10 }
michael@0 11
michael@0 12 const isWin = checkOS("Win");
michael@0 13 const isMac = checkOS("Mac");
michael@0 14 const isUnix = !(isWin || isMac);
michael@0 15
michael@0 16 var hiddenUnixFile;
michael@0 17 function createUNIXHiddenFile() {
michael@0 18 var dirSvc = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
michael@0 19 var tmpDir = dirSvc.get(NS_OS_TEMP_DIR, Ci.nsIFile);
michael@0 20 hiddenUnixFile = tmpDir.clone();
michael@0 21 hiddenUnixFile.append(".foo");
michael@0 22 // we don't care if this already exists because we don't care
michael@0 23 // about the file's contents (just the name)
michael@0 24 if (!hiddenUnixFile.exists())
michael@0 25 hiddenUnixFile.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0666);
michael@0 26 return hiddenUnixFile.exists();
michael@0 27 }
michael@0 28
michael@0 29 function run_test() {
michael@0 30 // Skip this test on Windows
michael@0 31 if (isWin)
michael@0 32 return;
michael@0 33
michael@0 34 do_check_true(createUNIXHiddenFile());
michael@0 35 do_check_true(hiddenUnixFile.isHidden());
michael@0 36 }
michael@0 37

mercurial