Index: LayoutTests/inspector/debugger/debug-console-command.html |
diff --git a/LayoutTests/inspector/debugger/debug-console-command.html b/LayoutTests/inspector/debugger/debug-console-command.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e7dbb2b94d1221d9854a380614e3b41c274531b8 |
--- /dev/null |
+++ b/LayoutTests/inspector/debugger/debug-console-command.html |
@@ -0,0 +1,94 @@ |
+<html> |
+<head> |
+<script src="../../http/tests/inspector/inspector-test.js"></script> |
+<script src="../../http/tests/inspector/debugger-test.js"></script> |
+<script src="../../http/tests/inspector/console-test.js"></script> |
+ |
+<script> |
+function simpleTestFunction() |
+{ |
+ return 0; |
+} |
+</script> |
+ |
+<script> |
+function simpleTestFunction1() { return 0; } function simpleTestFunction2() { return 0; } |
+</script> |
+ |
+<script> |
+function simpleTestFunction3() { Math.random(); debugger; } |
+</script> |
+ |
+<script> |
+var test = function() |
+{ |
+ var currentSourceFrame; |
+ InspectorTest.setQuiet(true); |
+ InspectorTest.runDebuggerTestSuite([ |
+ function testSetSimpleBreakpoint(next) |
+ { |
+ setBreakpointAndRun(next, "simpleTestFunction", "simpleTestFunction();"); |
+ }, |
+ |
+ function testSetBreakpointOnFirstFunctionInLine(next) |
+ { |
+ setBreakpointAndRun(next, "simpleTestFunction1", "simpleTestFunction2(); simpleTestFunction1();"); |
+ }, |
+ |
+ function testSetBreakpointOnLastFunctionInLine(next) |
+ { |
+ setBreakpointAndRun(next, "simpleTestFunction2", "simpleTestFunction1(); simpleTestFunction2();"); |
+ }, |
+ |
+ function testRemoveBreakpoint(next) |
+ { |
+ InspectorTest.evaluateInConsole("debug(simpleTestFunction3); undebug(simpleTestFunction3);"); |
+ InspectorTest.evaluateInConsole("setTimeout(simpleTestFunction3, 0)"); |
+ InspectorTest.waitUntilPaused(didPause1); |
+ |
+ function didPause1(callFrames, reason) |
+ { |
+ InspectorTest.addResult("Script execution paused."); |
+ InspectorTest.addResult("Reason for pause: " + (reason == WebInspector.DebuggerModel.BreakReason.DebugCommand ? "debug command" : "debugger statement") + "."); |
+ next(); |
+ } |
+ } |
+ ]); |
+ |
+ function setBreakpointAndRun(next, functionName, runCmd) |
+ { |
+ InspectorTest.evaluateInConsole("debug(" + functionName + ")"); |
+ |
+ InspectorTest.addResult("Breakpoint added."); |
+ InspectorTest.evaluateInConsole("setTimeout(function() { " + runCmd + " }, 0)"); |
+ InspectorTest.addResult("Set timer for test function."); |
+ InspectorTest.waitUntilPaused(didPause); |
+ |
+ function didPause(callFrames, reason) |
+ { |
+ InspectorTest.addResult("Script execution paused."); |
+ InspectorTest.captureStackTrace(callFrames); |
+ InspectorTest.evaluateInConsole("undebug(" + functionName + ")"); |
+ InspectorTest.addResult("Breakpoint removed."); |
+ InspectorTest.assertEquals(reason, WebInspector.DebuggerModel.BreakReason.DebugCommand); |
+ InspectorTest.resumeExecution(didResume); |
+ } |
+ |
+ function didResume() |
+ { |
+ InspectorTest.addResult("Script execution resumed."); |
+ next(); |
+ } |
+ } |
+} |
+ |
+</script> |
+</head> |
+ |
+<body onload="runTest()"> |
+<p> |
+Tests debug(fn) console command. |
+</p> |
+ |
+</body> |
+</html> |