Index: test/mjsunit/regress/regress-crbug-323936.js |
diff --git a/test/mjsunit/regress/regress-crbug-323936.js b/test/mjsunit/regress/regress-crbug-323936.js |
index c1d0f7d9311f732d62ac6f769153a04254c83bc5..6e75729c1819e3fec4a4609535c81ac740317993 100644 |
--- a/test/mjsunit/regress/regress-crbug-323936.js |
+++ b/test/mjsunit/regress/regress-crbug-323936.js |
@@ -17,7 +17,7 @@ |
exec_state.frame(0).evaluate("write_0('foo')"); |
exec_state.frame(0).evaluate("write_1('modified')"); |
} else { |
- assertEquals("foo", exec_state.frame(0).evaluate("e").value()); |
+ assertEquals("argument", exec_state.frame(0).evaluate("e").value()); |
exec_state.frame(0).evaluate("write_2('bar')"); |
} |
step++; |
@@ -33,12 +33,14 @@ |
try { |
throw "error"; |
} catch(e) { |
- // 'e' and 'x' bind to the argument due to hoisting |
+ // In ES2015 hoisting semantics, 'x' binds to the argument |
+ // and 'e' binds to the exception. |
function write_0(v) { e = v } |
function write_1(v) { x = v } |
debugger; |
- assertEquals("error", e); |
+ assertEquals("foo", e); // overwritten by the debugger |
} |
+ assertEquals("argument", e); // debugger did not overwrite |
function write_2(v) { e = v } |
debugger; |
assertEquals("bar", e); |