v8/test/mjsunit/regress/regress-crbug-605581.js
yangguo eee6ddb2ac [debugger] add test case for debug-evaluate for values in TDZ.
R=jkummerow@chromium.org
BUG=chromium:605581
LOG=N

Review URL: https://codereview.chromium.org/1920953003

Cr-Commit-Position: refs/heads/master@{#35794}
2016-04-26 14:11:21 +00:00

29 lines
706 B
JavaScript

// Copyright 2016 the V8 project authors. All rights reserved.
// 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
var Debug = debug.Debug;
var exception = null;
function listener(event, exec_state, event_data, data) {
if (event != Debug.DebugEvent.Break) return;
try {
assertThrows(() => exec_state.frame(0).evaluate("bar.baz"), ReferenceError);
} catch (e) {
exception = e;
}
}
Debug.setListener(listener);
(function() {
debugger; // bar is still in TDZ at this point.
let bar = 1;
(x => bar); // force bar to be context-allocated.
})();
Debug.setListener(null);
assertNull(exception);