summaryrefslogtreecommitdiffstats
path: root/js/xpconnect/tests/unit/test_ComponentEnvironment.js
blob: 97ea2d4567a41c00fb11e04db46cfa7b7be70b3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

let tgt = {};

Services.prefs.setBoolPref("security.allow_eval_with_system_principal", true);
registerCleanupFunction(() => {
  Services.prefs.clearUserPref("security.allow_eval_with_system_principal");
});

const a = ChromeUtils.import("resource://test/environment_script.js", tgt);
const b = ChromeUtils.import("resource://test/environment_checkscript.jsm", tgt);

const isShared = Cu.getGlobalForObject(a) === Cu.getGlobalForObject(b);


// Components should not share namespace
if (isShared) {
  todo_check_eq(tgt.bound, "");
  Assert.equal(tgt.bound, "ei,fo,", "Modules should have no shared non-eval bindings");
} else {
  Assert.equal(tgt.bound, "", "Modules should have no shared bindings");
}