// test scope iteration when throwing from within an eval.
function testEvalThrow(x, y) {
  x = 5;
  for (var i in [1,2,3])
    eval("x += 5; if (i == 2) throw 0");
  assertEq(x, 10);
}
for (var i = 0; i < 5; i++)
  try { testEvalThrow.call({}, 3); } catch (e) { assertEq(e, 0); }