summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Debugger-onNativeCall-09.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Debugger-onNativeCall-09.js')
-rw-r--r--js/src/jit-test/tests/debug/Debugger-onNativeCall-09.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Debugger-onNativeCall-09.js b/js/src/jit-test/tests/debug/Debugger-onNativeCall-09.js
new file mode 100644
index 0000000000..fdf33100df
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Debugger-onNativeCall-09.js
@@ -0,0 +1,27 @@
+// Test that the onNativeCall hook is called when native function is
+// called via DebuggerObject.apply DebuggerObject.call
+
+load(libdir + "eqArrayHelper.js");
+
+var g = newGlobal({ newCompartment: true });
+var dbg = new Debugger();
+var gdbg = dbg.addDebuggee(g);
+
+g.eval(`
+function f() {
+ Array.from([1, 2]);
+}
+`);
+const fdbgObj = gdbg.getOwnPropertyDescriptor("f").value;
+
+let rv = [];
+dbg.onNativeCall = (callee, reason) => {
+ rv.push(callee.name);
+};
+
+fdbgObj.call();
+assertEqArray(rv, ["from", "values", "next", "next", "next"]);
+
+rv = [];
+fdbgObj.apply();
+assertEqArray(rv, ["from", "values", "next", "next", "next"]);