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

Unified Diff: test/mjsunit/regress/regress-crbug-609046.js

Issue 1957303002: [debugger] keep scope and context chain for hidden scopes in sync. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix test Created 4 years, 7 months 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/regress/regress-468661.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/regress/regress-crbug-609046.js
diff --git a/test/mjsunit/regress/regress-crbug-605581.js b/test/mjsunit/regress/regress-crbug-609046.js
similarity index 52%
copy from test/mjsunit/regress/regress-crbug-605581.js
copy to test/mjsunit/regress/regress-crbug-609046.js
index 0f1daabead95a6357503f418c5b46c710ba6b99b..10b63af3e33feba396f4466098025bef688fd213 100644
--- a/test/mjsunit/regress/regress-crbug-605581.js
+++ b/test/mjsunit/regress/regress-crbug-609046.js
@@ -4,13 +4,21 @@
// Flags: --expose-debug-as debug
+// Test that hidden scopes are correctly walked in the scope chain.
+
var Debug = debug.Debug;
var exception = null;
+var delegate = null;
+var done = false;
function listener(event, exec_state, event_data, data) {
if (event != Debug.DebugEvent.Break) return;
try {
- assertThrows(() => exec_state.frame(0).evaluate("bar.baz"), ReferenceError);
+ assertEquals([ debug.ScopeType.Block,
+ debug.ScopeType.Script,
+ debug.ScopeType.Global ],
+ exec_state.frame(0).allScopes().map(s => s.scopeType()));
+ done = true;
} catch (e) {
exception = e;
}
@@ -18,11 +26,11 @@ function listener(event, exec_state, event_data, data) {
Debug.setListener(listener);
-(function() {
- debugger; // bar is still in TDZ at this point.
- let bar = 1;
- (x => bar); // force bar to be context-allocated.
-})();
+for(let a = 0; a < 3; a++) {
+ debugger;
+ eval(); // Force context-allocation of everything.
+}
Debug.setListener(null);
assertNull(exception);
+assertTrue(done);
« no previous file with comments | « test/mjsunit/es6/regress/regress-468661.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698