gecko/browser/devtools/highlighter/test/browser_inspector_treePanel_output.js

103 lines
3.3 KiB
JavaScript
Raw Normal View History

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
2012-05-21 04:12:37 -07:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
let doc = null;
let xhr = null;
let expectedResult = "";
Bug 687854 - Move the Inspector code to browser/devtools; r=gavin, r=robcee --HG-- rename : browser/base/content/domplate.jsm => browser/devtools/highlighter/domplate.jsm rename : browser/base/content/insideOutBox.js => browser/devtools/highlighter/insideOutBox.js rename : browser/base/content/inspector.html => browser/devtools/highlighter/inspector.html rename : browser/base/content/inspector.js => browser/devtools/highlighter/inspector.js rename : browser/base/content/test/inspector/Makefile.in => browser/devtools/highlighter/test/Makefile.in rename : browser/base/content/test/inspector/browser_inspector_bug_566084_location_changed.js => browser/devtools/highlighter/test/browser_inspector_bug_566084_location_changed.js rename : browser/base/content/test/inspector/browser_inspector_bug_665880.js => browser/devtools/highlighter/test/browser_inspector_bug_665880.js rename : browser/base/content/test/inspector/browser_inspector_bug_674871.js => browser/devtools/highlighter/test/browser_inspector_bug_674871.js rename : browser/base/content/test/inspector/browser_inspector_editor.js => browser/devtools/highlighter/test/browser_inspector_editor.js rename : browser/base/content/test/inspector/browser_inspector_highlighter.js => browser/devtools/highlighter/test/browser_inspector_highlighter.js rename : browser/base/content/test/inspector/browser_inspector_iframeTest.js => browser/devtools/highlighter/test/browser_inspector_iframeTest.js rename : browser/base/content/test/inspector/browser_inspector_initialization.js => browser/devtools/highlighter/test/browser_inspector_initialization.js rename : browser/base/content/test/inspector/browser_inspector_registertools.js => browser/devtools/highlighter/test/browser_inspector_registertools.js rename : browser/base/content/test/inspector/browser_inspector_scrolling.js => browser/devtools/highlighter/test/browser_inspector_scrolling.js rename : browser/base/content/test/inspector/browser_inspector_store.js => browser/devtools/highlighter/test/browser_inspector_store.js rename : browser/base/content/test/inspector/browser_inspector_tab_switch.js => browser/devtools/highlighter/test/browser_inspector_tab_switch.js rename : browser/base/content/test/inspector/browser_inspector_treePanel_click.js => browser/devtools/highlighter/test/browser_inspector_treePanel_click.js rename : browser/base/content/test/inspector/browser_inspector_treePanel_input.html => browser/devtools/highlighter/test/browser_inspector_treePanel_input.html rename : browser/base/content/test/inspector/browser_inspector_treePanel_output.js => browser/devtools/highlighter/test/browser_inspector_treePanel_output.js rename : browser/base/content/test/inspector/browser_inspector_treePanel_result.html => browser/devtools/highlighter/test/browser_inspector_treePanel_result.html rename : browser/base/content/test/inspector/browser_inspector_treeSelection.js => browser/devtools/highlighter/test/browser_inspector_treeSelection.js
2011-09-20 10:29:34 -07:00
const TEST_URI = "http://mochi.test:8888/browser/browser/devtools/highlighter/test/browser_inspector_treePanel_input.html";
const RESULT_URI = "http://mochi.test:8888/browser/browser/devtools/highlighter/test/browser_inspector_treePanel_result.html";
function tabFocused()
{
xhr = new XMLHttpRequest();
xhr.onreadystatechange = xhr_onReadyStateChange;
xhr.open("GET", RESULT_URI, true);
xhr.send(null);
}
function xhr_onReadyStateChange() {
if (xhr.readyState != 4) {
return;
}
is(xhr.status, 200, "xhr.status is 200");
ok(!!xhr.responseText, "xhr.responseText is available");
expectedResult = xhr.responseText.replace(/^\s+|\s+$/mg, '');
xhr = null;
Services.obs.addObserver(inspectorOpened,
InspectorUI.INSPECTOR_NOTIFICATIONS.OPENED, false);
InspectorUI.openInspectorUI();
}
function inspectorOpened()
{
Services.obs.removeObserver(inspectorOpened,
InspectorUI.INSPECTOR_NOTIFICATIONS.OPENED);
Services.obs.addObserver(treePanelOpened, InspectorUI.INSPECTOR_NOTIFICATIONS.TREEPANELREADY, false);
InspectorUI.treePanel.open();
}
function treePanelOpened()
{
Services.obs.removeObserver(treePanelOpened,
InspectorUI.INSPECTOR_NOTIFICATIONS.TREEPANELREADY);
ok(InspectorUI.inspecting, "Inspector is highlighting");
ok(InspectorUI.treePanel.isOpen(), "Inspector Tree Panel is open");
InspectorUI.stopInspecting();
ok(!InspectorUI.inspecting, "Inspector is not highlighting");
let elements = doc.querySelectorAll("meta, script, style, p[unknownAttribute]");
for (let i = 0; i < elements.length; i++) {
InspectorUI.inspectNode(elements[i]);
}
let iframe = doc.querySelector("iframe");
ok(iframe, "Found the iframe tag");
ok(iframe.contentDocument, "Found the iframe.contentDocument");
let iframeDiv = iframe.contentDocument.querySelector("div");
ok(iframeDiv, "Found the div element inside the iframe");
InspectorUI.inspectNode(iframeDiv);
ok(InspectorUI.treePanel.treePanelDiv, "InspectorUI.treePanelDiv is available");
is(InspectorUI.treePanel.treePanelDiv.innerHTML.replace(/^\s+|\s+$/mg, ''),
expectedResult, "treePanelDiv.innerHTML is correct");
expectedResult = null;
Services.obs.addObserver(inspectorClosed,
InspectorUI.INSPECTOR_NOTIFICATIONS.CLOSED, false);
InspectorUI.closeInspectorUI();
}
function inspectorClosed()
{
Services.obs.removeObserver(inspectorClosed,
InspectorUI.INSPECTOR_NOTIFICATIONS.CLOSED, false);
ok(!InspectorUI.inspecting, "Inspector is not highlighting");
ok(!InspectorUI.treePanel, "Inspector Tree Panel is not open");
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(tabFocused, content);
}, true);
content.location = TEST_URI;
}