summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Frame-evalWithBindings-12.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Frame-evalWithBindings-12.js')
-rw-r--r--js/src/jit-test/tests/debug/Frame-evalWithBindings-12.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Frame-evalWithBindings-12.js b/js/src/jit-test/tests/debug/Frame-evalWithBindings-12.js
new file mode 100644
index 0000000000..18193c0226
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Frame-evalWithBindings-12.js
@@ -0,0 +1,31 @@
+// evalWithBindings correctly handles optional custom url option
+var g = newGlobal({newCompartment: true});
+var dbg = new Debugger(g);
+var count = 0;
+
+function testUrl (options, expected) {
+ count++;
+ dbg.onDebuggerStatement = function (frame) {
+ dbg.onNewScript = function (script) {
+ dbg.onNewScript = undefined;
+ assertEq(script.url, expected);
+ count--;
+ };
+ frame.evalWithBindings("", {}, options);
+ };
+ g.eval("debugger;");
+}
+
+
+testUrl(undefined, "debugger eval code");
+testUrl(null, "debugger eval code");
+testUrl({ url: undefined }, "debugger eval code");
+testUrl({ url: null }, "null");
+testUrl({ url: 5 }, "5");
+testUrl({ url: "" }, "");
+testUrl({ url: "test" }, "test");
+testUrl({ url: "Ðëßþ" }, "Ðëßþ");
+testUrl({ url: "тест" }, "тест");
+testUrl({ url: "テスト" }, "テスト");
+testUrl({ url: "\u{1F9EA}" }, "\u{1F9EA}");
+assertEq(count, 0);