35 lines
1 KiB
JavaScript
35 lines
1 KiB
JavaScript
/* 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);
|
|
}
|