const Ci = Components.interfaces; const Cc = Components.classes; const NS_OS_TEMP_DIR = "TmpD"; const CWD = do_get_cwd(); function checkOS(os) { const nsILocalFile_ = "nsILocalFile" + os; return nsILocalFile_ in Components.interfaces && CWD instanceof Components.interfaces[nsILocalFile_]; } const isWin = checkOS("Win"); const isOS2 = checkOS("OS2"); const isMac = checkOS("Mac"); const isUnix = !(isWin || isOS2 || isMac); var hiddenUnixFile; function createUNIXHiddenFile() { var dirSvc = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties); var tmpDir = dirSvc.get(NS_OS_TEMP_DIR, Ci.nsIFile); hiddenUnixFile = tmpDir.clone(); hiddenUnixFile.append(".foo"); // we don't care if this already exists because we don't care // about the file's contents (just the name) if (!hiddenUnixFile.exists()) hiddenUnixFile.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0666); return hiddenUnixFile.exists(); } function run_test() { // Skip this test on Windows if (isWin || isOS2) return; do_check_true(createUNIXHiddenFile()); do_check_true(hiddenUnixFile.isHidden()); }