diff options
Diffstat (limited to 'js/src/jit-test/tests/arguments/strict-nested-assign-shadowed-catch-call.js')
-rw-r--r-- | js/src/jit-test/tests/arguments/strict-nested-assign-shadowed-catch-call.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/arguments/strict-nested-assign-shadowed-catch-call.js b/js/src/jit-test/tests/arguments/strict-nested-assign-shadowed-catch-call.js new file mode 100644 index 0000000000..03c5e027de --- /dev/null +++ b/js/src/jit-test/tests/arguments/strict-nested-assign-shadowed-catch-call.js @@ -0,0 +1,39 @@ +/* + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/licenses/publicdomain/ + */ +load(libdir + 'array-compare.js'); + +var obj = {}; + +function strictNestedAssignShadowCatchCall(p) +{ + "use strict"; + function inner() + { + try + { + } + catch (p) + { + var f = function innermost() { p = 1776; return 12; }; + f(); + } + } + inner(); + return arguments; +} + +var a1, a2, a3, a4; +for (var i = 0; i < 5; i++) +{ + a1 = strictNestedAssignShadowCatchCall(); + a2 = strictNestedAssignShadowCatchCall(99); + a3 = strictNestedAssignShadowCatchCall(""); + a4 = strictNestedAssignShadowCatchCall(obj); +} + +assertEq(arraysEqual(a1, []), true); +assertEq(arraysEqual(a2, [99]), true); +assertEq(arraysEqual(a3, [""]), true); +assertEq(arraysEqual(a4, [obj]), true); |