summaryrefslogtreecommitdiffstats
path: root/devtools/server/tests/unit/test_safe-getter.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/server/tests/unit/test_safe-getter.js')
-rw-r--r--devtools/server/tests/unit/test_safe-getter.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/devtools/server/tests/unit/test_safe-getter.js b/devtools/server/tests/unit/test_safe-getter.js
new file mode 100644
index 000000000..08949154d
--- /dev/null
+++ b/devtools/server/tests/unit/test_safe-getter.js
@@ -0,0 +1,25 @@
+function run_test() {
+ Components.utils.import("resource://gre/modules/jsdebugger.jsm");
+ addDebuggerToGlobal(this);
+ var g = testGlobal("test");
+ var dbg = new Debugger();
+ var gw = dbg.addDebuggee(g);
+
+ g.eval(`
+ // This is not a CCW.
+ Object.defineProperty(this, "bar", {
+ get: function() { return "bar"; },
+ configurable: true,
+ enumerable: true
+ });
+
+ Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+
+ // This is a CCW.
+ XPCOMUtils.defineLazyGetter(this, "foo", function() { return "foo"; });
+ `);
+
+ // Neither scripted getter should be considered safe.
+ assert(!DevToolsUtils.hasSafeGetter(gw.getOwnPropertyDescriptor("bar")));
+ assert(!DevToolsUtils.hasSafeGetter(gw.getOwnPropertyDescriptor("foo")));
+}