1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test ThreadSafeDevToolsUtils.isSet
function run_test() {
Services.prefs.setBoolPref(
"security.allow_parent_unrestricted_js_loads",
true
);
registerCleanupFunction(() => {
Services.prefs.clearUserPref("security.allow_parent_unrestricted_js_loads");
});
const { isSet } = DevToolsUtils;
equal(isSet(new Set()), true);
equal(isSet(new Map()), false);
equal(isSet({}), false);
equal(isSet("I swear I'm a Set"), false);
equal(isSet(5), false);
const systemPrincipal = Cc["@mozilla.org/systemprincipal;1"].createInstance(
Ci.nsIPrincipal
);
const sandbox = new Cu.Sandbox(systemPrincipal);
equal(isSet(Cu.evalInSandbox("new Set()", sandbox)), true);
equal(isSet(Cu.evalInSandbox("new Map()", sandbox)), false);
equal(isSet(Cu.evalInSandbox("({})", sandbox)), false);
equal(isSet(Cu.evalInSandbox("'I swear I\\'m a Set'", sandbox)), false);
equal(isSet(Cu.evalInSandbox("5", sandbox)), false);
}
|