/* vim: set ts=2 et sw=2 tw=80: */ /* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ // Tests that the style inspector works properly let doc; let stylePanel; function createDocument() { doc.body.innerHTML = '
\n' + '

Some header text

\n' + '

hi.

\n' + '

I am a test-case. This text exists ' + 'solely to provide some things to ' + 'highlight and count ' + 'style list-items in the box at right. If you are reading this, ' + 'you should go do something else instead. Maybe read a book. Or better ' + 'yet, write some test-cases for another bit of code. ' + 'Maybe more inspector test-cases!

\n' + '

end transmission

\n' + '

Inspect using inspectstyle(document.querySelectorAll("span")[0])

' + '
'; doc.title = "Style Inspector Test"; stylePanel = new ComputedViewPanel(window); stylePanel.createPanel(doc.body, runStyleInspectorTests); } function runStyleInspectorTests() { var spans = doc.querySelectorAll("span"); ok(spans, "captain, we have the spans"); let htmlTree = stylePanel.cssHtmlTree; for (var i = 0, numSpans = spans.length; i < numSpans; i++) { stylePanel.selectNode(spans[i]); is(spans[i], htmlTree.viewedElement, "style inspector node matches the selected node"); is(htmlTree.viewedElement, stylePanel.cssLogic.viewedElement, "cssLogic node matches the cssHtmlTree node"); } SI_CheckProperty(); stylePanel.destroy(); finishUp(); } function SI_CheckProperty() { let cssLogic = stylePanel.cssLogic; let propertyInfo = cssLogic.getPropertyInfo("color"); ok(propertyInfo.matchedRuleCount > 0, "color property has matching rules"); //ok(propertyInfo.unmatchedRuleCount > 0, "color property has unmatched rules"); } function finishUp() { doc = stylePanel = null; gBrowser.removeCurrentTab(); finish(); } function test() { waitForExplicitFinish(); gBrowser.selectedTab = gBrowser.addTab(); gBrowser.selectedBrowser.addEventListener("load", function(evt) { gBrowser.selectedBrowser.removeEventListener(evt.type, arguments.callee, true); doc = content.document; waitForFocus(createDocument, content); }, true); content.location = "data:text/html,basic style inspector tests"; }