michael@0: michael@0: var global = 0; michael@0: michael@0: function foo(i) { michael@0: global = i; michael@0: if (global == 8) { michael@0: eval("global = 'three'"); michael@0: throw global; michael@0: } michael@0: } michael@0: michael@0: var caught = false; michael@0: try { michael@0: for (var i = 0; i < 10; i++) { michael@0: Array.map([i], foo); michael@0: } michael@0: } catch (e) { caught = true; } michael@0: michael@0: assertEq(caught, true); michael@0: assertEq(global, 'three');