Index: content/browser/debugger/manual_tests/debugger-step-on-for-in-statements.html |
diff --git a/content/browser/debugger/manual_tests/debugger-step-on-for-in-statements.html b/content/browser/debugger/manual_tests/debugger-step-on-for-in-statements.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e36039404648c51f4f3f726d61d22f764a520dc6 |
--- /dev/null |
+++ b/content/browser/debugger/manual_tests/debugger-step-on-for-in-statements.html |
@@ -0,0 +1,35 @@ |
+<script> |
+var myObj = {test : 1}; |
+function getObject() |
+{ |
+ return myObj; |
+} |
+ |
+function statement() { |
+ ; |
+} |
+ |
+function runForIn() |
+{ |
+ /* place breakpoint on next line and click continue */ debugger; |
+ for (var property in getObject()) |
+ statement(); |
+} |
+ |
+</script> |
+<p>To test, open the DevTools (Ctrl+Shift+I) and reload the page. |
+<br><br> |
+Before running the tests please perform the following: |
+Make sure the execution is not paused in the debugger.<br> |
+Click the button and when the debugger breaks, set a breakpoint on the first line in the loop |
+(as indicated by the comment), and click continue.<br> |
+The debugger should stop at the beggining of the loop.<br> |
+The above actions should be performed before <b>each</b> of the following tests.</p> |
+<br><br> |
+<input type="button" value="run for-in" onclick="runForIn()"/> |
+<br><br> |
+TEST 1: Click 'continue'. Execution should continue without stopping on the loop breakpoint again.<br> |
+TEST 2: Click 'Step over'. Debugger should step inside the loop to the next statement line.<br> |
+TEST 3: Click 'Step into'. Debugger should step into 'getObject' function.<br> |
+TEST 4: 'Step over' to the statement line and then 'Step over' again. Debugger should pause on |
+the for-in loop again.<br> |