diff options
Diffstat (limited to 'deps/v8/test/mjsunit/debug-step-into-valueof.js')
-rw-r--r-- | deps/v8/test/mjsunit/debug-step-into-valueof.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/debug-step-into-valueof.js b/deps/v8/test/mjsunit/debug-step-into-valueof.js new file mode 100644 index 0000000000..b1d9cf1454 --- /dev/null +++ b/deps/v8/test/mjsunit/debug-step-into-valueof.js @@ -0,0 +1,35 @@ +// Copyright 2015 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 + +Debug = debug.Debug + +var exception = null; +var break_count = 0; + +function listener(event, exec_state, event_data, data) { + if (event != Debug.DebugEvent.Break) return; + try { + print(event_data.sourceLineText()); + assertTrue(event_data.sourceLineText().indexOf(`Break ${break_count++}.`) > 0); + exec_state.prepareStep(Debug.StepAction.StepIn); + } catch (e) { + exception = e; + } +}; + +function valueOfCallback() { + return 2; // Break 2. +} // Break 3. +var o = {}; +o.valueOf = valueOfCallback; + +Debug.setListener(listener); +debugger; // Break 0. +var result = 1 + o; // Break 1. +Debug.setListener(null); // Break 4. + +assertEquals(3, result); +assertNull(exception); |