test_autoconfig_no_sandbox.js (1689B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 /* eslint no-unsafe-finally: "off"*/ 5 6 function run_test() { 7 let prefs = Services.prefs.getBranch(null); 8 9 let greD = Services.dirsvc.get("GreD", Ci.nsIFile); 10 let defaultPrefD = Services.dirsvc.get("PrfDef", Ci.nsIFile); 11 let testDir = do_get_cwd(); 12 13 try { 14 let autoConfigJS = testDir.clone(); 15 autoConfigJS.append("autoconfig-no-sandbox.js"); 16 autoConfigJS.copyTo(defaultPrefD, "autoconfig.js"); 17 18 // Make sure nsReadConfig is initialized. 19 Cc["@mozilla.org/readconfig;1"].getService(Ci.nsISupports); 20 Services.prefs.resetPrefs(); 21 22 let autoConfigCfg = testDir.clone(); 23 autoConfigCfg.append("autoconfig-no-sandbox-check.cfg"); 24 autoConfigCfg.copyTo(greD, "autoconfig.cfg"); 25 26 Services.obs.notifyObservers( 27 Services.prefs, 28 "prefservice:before-read-userprefs" 29 ); 30 31 equal("object", prefs.getStringPref("_test.typeof_Components")); 32 equal("object", prefs.getStringPref("_test.typeof_ChromeUtils")); 33 equal("object", prefs.getStringPref("_test.typeof_Services")); 34 35 Services.prefs.resetPrefs(); 36 } finally { 37 try { 38 let autoConfigJS = defaultPrefD.clone(); 39 autoConfigJS.append("autoconfig.js"); 40 autoConfigJS.remove(false); 41 } catch (e) { 42 if (e.result != Cr.NS_ERROR_FILE_NOT_FOUND) { 43 throw e; 44 } 45 } 46 47 try { 48 let autoConfigCfg = greD.clone(); 49 autoConfigCfg.append("autoconfig.cfg"); 50 autoConfigCfg.remove(false); 51 } catch (e) { 52 if (e.result != Cr.NS_ERROR_FILE_NOT_FOUND) { 53 throw e; 54 } 55 } 56 57 Services.prefs.resetPrefs(); 58 } 59 }