| <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/elements-test.js"></script> |
| <script> |
| function testFunction() |
| { |
| var x = Math.sqrt(10); |
| return x; |
| } |
| |
| var test = function() |
| { |
| InspectorTest.setQuiet(true); |
| InspectorTest.startDebuggerTest(step1); |
| |
| var currentSourceFrame; |
| var watchExpressionsSection; |
| |
| function step1() |
| { |
| // We need to initialize scripts panel so that watch expressions section is created. |
| WebInspector.showPanel("scripts"); |
| |
| var watchExpressionsPane = WebInspector.panels.scripts.sidebarPanes.watchExpressions; |
| watchExpressionsPane.expand(); |
| |
| watchExpressionsSection = watchExpressionsPane.section; |
| watchExpressionsSection.watchExpressions = []; |
| watchExpressionsSection.watchExpressions.push("Object(true)"); |
| watchExpressionsSection.watchExpressions.push("(function(a,b) { return a + b; })"); |
| watchExpressionsSection.watchExpressions.push("(function(a,b) { return a + b; }).bind({}, 2)"); |
| watchExpressionsSection.update(); |
| |
| var testName = WebInspector.inspectedPageURL; |
| testName = testName.substring(testName.lastIndexOf('/') + 1); |
| InspectorTest.showScriptSource(testName, didShowScriptSource); |
| } |
| |
| function didShowScriptSource(sourceFrame) |
| { |
| currentSourceFrame = sourceFrame; |
| InspectorTest.addResult("Script source was shown."); |
| InspectorTest.setBreakpoint(currentSourceFrame, 9, "", true); |
| InspectorTest.addSniffer(WebInspector.WatchExpressionsSection.prototype, "update", watchExpressionsUpdated); |
| InspectorTest.runTestFunctionAndWaitUntilPaused(didPaused); |
| } |
| |
| function didPaused(callFrames) |
| { |
| } |
| |
| function watchExpressionsUpdated() |
| { |
| InspectorTest.addResult("Watch expressions updated."); |
| var treeNodes = watchExpressionsSection.propertiesTreeOutline.children; |
| for (var i = 0; i < treeNodes.length; i++) { |
| treeNodes[i].expand(); |
| } |
| InspectorTest.runAfterPendingDispatches(nodesExpanded); |
| } |
| |
| function nodesExpanded() |
| { |
| InspectorTest.addResult("Nodes are expanded."); |
| InspectorTest.dumpObjectPropertySectionDeep(watchExpressionsSection); |
| |
| // Clear watch expressions after execution. |
| watchExpressionsSection.watchExpressions = []; |
| watchExpressionsSection.update(); |
| |
| InspectorTest.completeDebuggerTest(); |
| } |
| } |
| |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests how debugger presents special properties of closures, bound functions and object wrappers.</p> |
| </body> |
| </html> |