Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Unified Diff: test/mjsunit/regress-3225.js

Issue 1513183003: [debugger] debug-evaluate should not not modify local values. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@arrowthis
Patch Set: addressed comments. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/mjsunit/es6/debug-blockscopes.js ('k') | test/mjsunit/regress/regress-325676.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/regress-3225.js
diff --git a/test/mjsunit/regress-3225.js b/test/mjsunit/regress-3225.js
index fe44b85110f5326b2c94d5b8c992ad4acb8f3a21..97165a80dd8d85f626e063fad8d9856207f35274 100644
--- a/test/mjsunit/regress-3225.js
+++ b/test/mjsunit/regress-3225.js
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Flags: --expose-debug-as debug
+// Flags: --expose-debug-as debug --debug-eval-readonly-locals
Debug = debug.Debug
@@ -15,12 +15,13 @@ function listener(event, exec_state, event_data, data) {
if (debug_step == 0) {
assertEquals(1, exec_state.frame(0).evaluate('a').value());
assertEquals(3, exec_state.frame(0).evaluate('b').value());
- exec_state.frame(0).evaluate("a = 4").value();
+ exec_state.frame(0).evaluate("a = 4").value(); // no effect.
debug_step++;
} else {
- assertEquals(4, exec_state.frame(0).evaluate('a').value());
+ assertEquals(1, exec_state.frame(0).evaluate('a').value());
assertEquals(3, exec_state.frame(0).evaluate('b').value());
- exec_state.frame(0).evaluate("b = 5").value();
+ exec_state.frame(0).evaluate("set_a_to_5()");
+ exec_state.frame(0).evaluate("b = 5").value(); // no effect.
}
} catch (e) {
failure = e;
@@ -30,19 +31,22 @@ function listener(event, exec_state, event_data, data) {
Debug.setListener(listener);
function* generator(a, b) {
+ function set_a_to_5() { a = 5 }
var b = 3; // Shadows a parameter.
debugger;
yield a;
yield b;
debugger;
+ yield a;
return b;
}
var foo = generator(1, 2);
-assertEquals(4, foo.next().value);
+assertEquals(1, foo.next().value);
assertEquals(3, foo.next().value);
assertEquals(5, foo.next().value);
+assertEquals(3, foo.next().value);
assertNull(failure);
Debug.setListener(null);
« no previous file with comments | « test/mjsunit/es6/debug-blockscopes.js ('k') | test/mjsunit/regress/regress-325676.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698