Index: test/mjsunit/harmony/debug-step-into-class-extends.js |
diff --git a/test/mjsunit/harmony/debug-step-into-class-extends.js b/test/mjsunit/harmony/debug-step-into-class-extends.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ffc6fda63fb3c3285316c4901f0a5fea6ef219a3 |
--- /dev/null |
+++ b/test/mjsunit/harmony/debug-step-into-class-extends.js |
@@ -0,0 +1,42 @@ |
+// Copyright 2014 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 --harmony-classes |
+ |
+'use strict'; |
+ |
+var Debug = debug.Debug |
+ |
+var done = false; |
+var stepCount = 0; |
+ |
+function listener(event, execState, eventData, data) { |
+ if (event == Debug.DebugEvent.Break) { |
+ if (!done) { |
+ execState.prepareStep(Debug.StepAction.StepInto); |
+ var s = execState.frame().sourceLineText(); |
+ assertTrue(s.indexOf('// ' + stepCount + '.') !== -1); |
+ stepCount++; |
+ } |
+ } |
+}; |
+ |
+Debug.setListener(listener); |
+ |
+function GetBase() { |
+ var x = 1; // 1. |
+ var y = 2; // 2. |
+ done = true; // 3. |
+ return null; |
+} |
+ |
+function f() { |
+ class Derived extends GetBase() {} // 0. |
+} |
+ |
+var bp = Debug.setBreakPoint(f, 0); |
+f(); |
+assertEquals(4, stepCount); |
+ |
+Debug.setListener(null); |