diff options
Diffstat (limited to 'deps/v8/test/debugger/debug/debug-evaluate-dead-function-fails.js')
-rw-r--r-- | deps/v8/test/debugger/debug/debug-evaluate-dead-function-fails.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/deps/v8/test/debugger/debug/debug-evaluate-dead-function-fails.js b/deps/v8/test/debugger/debug/debug-evaluate-dead-function-fails.js new file mode 100644 index 0000000000..ffa2916511 --- /dev/null +++ b/deps/v8/test/debugger/debug/debug-evaluate-dead-function-fails.js @@ -0,0 +1,35 @@ +// Copyright 2019 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: --no-always-opt --no-stress-opt + +Debug = debug.Debug + +var exception = null; +function listener(event, exec_state, event_data, data) { + if (event != Debug.DebugEvent.Break) return; + try { + // Evaluating the live function should succeed. + assertEquals(exec_state.frame(0).evaluate("live()").value(), 1); + // Evaluating the dead function should fail. + assertThrows(()=>exec_state.frame(0).evaluate("dead()"), ReferenceError); + } catch (e) { + exception = e; + print(e + e.stack); + } +} + +Debug.setListener(listener); + +(function() { + "use strict"; + function live() { return 1; } + function dead() { return 2; } + // Use 'foo' to make it non-dead. + live; + debugger; +})(); + +Debug.setListener(null); +assertNull(exception); |