| <html> |
| <head> |
| <script src="../../http/tests/inspector/inspector-test.js"></script> |
| <script src="../../http/tests/inspector/extensions-test.js"></script> |
| <script src="../audits/audits-test.js"></script> |
| <script src="extensions-audits-tests.js"></script> |
| |
| <script type="text/javascript"> |
| |
| function extension_testAudits(nextTest) |
| { |
| var pendingOutput = []; |
| |
| function onStartAuditCategory(results) |
| { |
| pendingOutput.push("category.onAuditStarted fired"); |
| results.addResult("Passed rule", "this rule always passes ok", results.Severity.Info); |
| results.addResult("Failed rule (42)", "this rule always fails", results.Severity.Severe); |
| |
| var node = results.createResult("Subtree"); |
| node.addChild("Some url: ", results.createURL("http://www.webkit.org", "WebKit"), " more text ", results.createURL("http://www.google.com")); |
| var nestedNode = node.addChild("... and a snippet"); |
| nestedNode.expanded = true; |
| nestedNode.addChild(results.createSnippet("function rand()\n{\n return 4;\n}")); |
| nestedNode.addChild(results.createResourceLink("file:///path/to/error.html", 10)); |
| nestedNode.addChild(results.createObject("({a: 42, b: 'foo'})", "object details")); |
| nestedNode.addChild(results.createNode("document.getElementById('test-element')")); |
| |
| webInspector.inspectedWindow.eval("location.href", function(inspectedPageURL) { |
| nestedNode.addChild(results.createResourceLink(inspectedPageURL, 20)); |
| |
| results.addResult("Rule with details subtree (1)", "This rule has a lot of details", results.Severity.Warning, node); |
| |
| // Audit normally terminates when number of added rule results is equal to |
| // the rule count declared when adding a category. done() is only for |
| // emergency cases, when we know we won't be able to run the rest of the rules. |
| results.done(); |
| }); |
| } |
| function onStartAuditFailedCategory() |
| { |
| pendingOutput.push("failedCategory.onAuditStarted fired, throwing exception"); |
| throw "oops!"; |
| } |
| function onStartAuditDisabledCategory(results) |
| { |
| pendingOutput.push("FAIL: disabledCategory.onAuditStarted fired"); |
| results.done(); |
| } |
| |
| var category = webInspector.audits.addCategory("Extension audits", 20); |
| category.onAuditStarted.addListener(onStartAuditCategory); |
| |
| var failedCategory = webInspector.audits.addCategory("Extension audits that fail", 2); |
| failedCategory.onAuditStarted.addListener(onStartAuditFailedCategory); |
| |
| var disabledCategory = webInspector.audits.addCategory("Disabled extension audits", 2); |
| disabledCategory.onAuditStarted.addListener(onStartAuditDisabledCategory); |
| |
| function auditsDone() |
| { |
| pendingOutput.sort().forEach(output); |
| nextTest(); |
| } |
| webInspector.inspectedWindow.eval("", function() { |
| extension_runAudits(auditsDone); |
| }); |
| } |
| |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests audits support in WebInspector Extensions API</p> |
| <span id="test-element"><b></b></span> |
| </body> |
| </html> |