summaryrefslogtreecommitdiff
path: root/deps/v8/test/debugger/debug/regress/regress-crbug-481896.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/debugger/debug/regress/regress-crbug-481896.js')
-rw-r--r--deps/v8/test/debugger/debug/regress/regress-crbug-481896.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/deps/v8/test/debugger/debug/regress/regress-crbug-481896.js b/deps/v8/test/debugger/debug/regress/regress-crbug-481896.js
new file mode 100644
index 0000000000..d12398070b
--- /dev/null
+++ b/deps/v8/test/debugger/debug/regress/regress-crbug-481896.js
@@ -0,0 +1,55 @@
+// 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.
+
+
+function static() {
+ print("> static"); // Break
+}
+
+var 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("breakpoint hit at " + exec_state.frame(0).sourceLineText());
+ assertTrue(exec_state.frame(0).sourceLineText().indexOf("// Break") > 0);
+ break_count++;
+ } catch (e) {
+ exception = e;
+ }
+}
+
+Debug.setListener(listener);
+
+function install() {
+ eval("this.dynamic = function dynamic() { \n" +
+ " print(\"> dynamic\"); // Break\n" +
+ "}\n" +
+ "//@ sourceURL=dynamicScript");
+}
+
+install();
+
+var scripts = Debug.scripts();
+var dynamic_script;
+var static_script;
+for (var script of scripts) {
+ if (script.source_url == "dynamicScript") dynamic_script = script;
+ if (script.source_url == "staticScript") static_script = script;
+}
+
+Debug.setScriptBreakPointById(dynamic_script.id, 1);
+Debug.setScriptBreakPointById(static_script.id, 6);
+
+dynamic();
+static();
+
+Debug.setListener(null);
+
+assertNull(exception);
+assertEquals(2, break_count);
+
+//@ sourceURL=staticScript