summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Object-parameterNames.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Object-parameterNames.js')
-rw-r--r--js/src/jit-test/tests/debug/Object-parameterNames.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Object-parameterNames.js b/js/src/jit-test/tests/debug/Object-parameterNames.js
new file mode 100644
index 000000000..24c0702d1
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Object-parameterNames.js
@@ -0,0 +1,33 @@
+load(libdir + 'array-compare.js');
+
+var g = newGlobal();
+var dbg = new Debugger(g);
+var hits = 0;
+dbg.onDebuggerStatement = function (frame) {
+ var arr = frame.arguments;
+ assertEq(arraysEqual(arr[0].parameterNames, []), true);
+ assertEq(arraysEqual(arr[1].parameterNames, ["x"]), true);
+ assertEq(arraysEqual(arr[2].parameterNames,
+ ["a","b","c","d","e","f","g","h","i","j","k","l","m",
+ "n","o","p","q","r","s","t","u","v","w","x","y","z"]),
+ true);
+ assertEq(arraysEqual(arr[3].parameterNames, ["a", (void 0), (void 0)]), true);
+ assertEq(arr[4].parameterNames, (void 0));
+ assertEq(arraysEqual(arr[5].parameterNames, [(void 0), (void 0)]), true);
+ assertEq(arr.length, 6);
+ hits++;
+};
+
+g.eval("("
+ + function () {
+ (function () { debugger; }
+ (function () {},
+ function (x) {},
+ function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) {},
+ function (a, [b, c], {d, e:f}) { },
+ {a:1},
+ Math.atan2
+ ));
+ }
+ +")()");
+assertEq(hits, 1);