strict-nested-assign-shadowed-catch.js (767B)
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);