|
1 /* |
|
2 * Any copyright is dedicated to the Public Domain. |
|
3 * http://creativecommons.org/licenses/publicdomain/ |
|
4 */ |
|
5 load(libdir + 'array-compare.js'); |
|
6 |
|
7 var obj = {}; |
|
8 |
|
9 function strictNestedAssignShadowCatch(p) |
|
10 { |
|
11 "use strict"; |
|
12 function inner() |
|
13 { |
|
14 try |
|
15 { |
|
16 } |
|
17 catch (p) |
|
18 { |
|
19 var f = function innermost() { p = 1776; return 12; }; |
|
20 f(); |
|
21 } |
|
22 } |
|
23 return arguments; |
|
24 } |
|
25 |
|
26 var a1, a2, a3, a4; |
|
27 for (var i = 0; i < 5; i++) |
|
28 { |
|
29 a1 = strictNestedAssignShadowCatch(); |
|
30 a2 = strictNestedAssignShadowCatch(99); |
|
31 a3 = strictNestedAssignShadowCatch(""); |
|
32 a4 = strictNestedAssignShadowCatch(obj); |
|
33 } |
|
34 |
|
35 assertEq(arraysEqual(a1, []), true); |
|
36 assertEq(arraysEqual(a2, [99]), true); |
|
37 assertEq(arraysEqual(a3, [""]), true); |
|
38 assertEq(arraysEqual(a4, [obj]), true); |
|
39 |