mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-22 02:25:05 +00:00
99 lines
3.2 KiB
JavaScript
99 lines
3.2 KiB
JavaScript
/* vim: set ts=2 et sw=2 tw=80: */
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// Test that the layout-view continues to work after a page navigation and that
|
|
// it also works after going back
|
|
|
|
add_task(function*() {
|
|
yield addTab(TEST_URL_ROOT + "doc_layoutview_iframe1.html");
|
|
let {toolbox, inspector, view} = yield openLayoutView();
|
|
yield runTests(inspector, view);
|
|
});
|
|
|
|
addTest("Test that the layout-view works on the first page",
|
|
function*(inspector, view) {
|
|
info("Selecting the test node");
|
|
yield selectNode("p", inspector);
|
|
|
|
info("Checking that the layout-view shows the right value");
|
|
let paddingElt = view.doc.querySelector(".padding.top > span");
|
|
is(paddingElt.textContent, "50");
|
|
|
|
info("Listening for layout-view changes and modifying the padding");
|
|
let onUpdated = waitForUpdate(inspector);
|
|
getNode("p").style.padding = "20px";
|
|
yield onUpdated;
|
|
ok(true, "Layout-view got updated");
|
|
|
|
info("Checking that the layout-view shows the right value after update");
|
|
is(paddingElt.textContent, "20");
|
|
});
|
|
|
|
addTest("Navigate to the second page",
|
|
function*(inspector, view) {
|
|
yield navigateTo(TEST_URL_ROOT + "doc_layoutview_iframe2.html");
|
|
yield inspector.once("markuploaded");
|
|
});
|
|
|
|
addTest("Test that the layout-view works on the second page",
|
|
function*(inspector, view) {
|
|
info("Selecting the test node");
|
|
yield selectNode("p", inspector);
|
|
|
|
info("Checking that the layout-view shows the right value");
|
|
let sizeElt = view.doc.querySelector(".size > span");
|
|
is(sizeElt.textContent, "100" + "\u00D7" + "100");
|
|
|
|
info("Listening for layout-view changes and modifying the size");
|
|
let onUpdated = waitForUpdate(inspector);
|
|
getNode("p").style.width = "200px";
|
|
yield onUpdated;
|
|
ok(true, "Layout-view got updated");
|
|
|
|
info("Checking that the layout-view shows the right value after update");
|
|
is(sizeElt.textContent, "200" + "\u00D7" + "100");
|
|
});
|
|
|
|
addTest("Go back to the first page",
|
|
function*(inspector, view) {
|
|
content.history.back();
|
|
yield inspector.once("markuploaded");
|
|
});
|
|
|
|
addTest("Test that the layout-view works on the first page after going back",
|
|
function*(inspector, view) {
|
|
info("Selecting the test node");
|
|
yield selectNode("p", inspector);
|
|
|
|
info("Checking that the layout-view shows the right value, which is the" +
|
|
"modified value from step one because of the bfcache");
|
|
let paddingElt = view.doc.querySelector(".padding.top > span");
|
|
is(paddingElt.textContent, "20");
|
|
|
|
info("Listening for layout-view changes and modifying the padding");
|
|
let onUpdated = waitForUpdate(inspector);
|
|
getNode("p").style.padding = "100px";
|
|
yield onUpdated;
|
|
ok(true, "Layout-view got updated");
|
|
|
|
info("Checking that the layout-view shows the right value after update");
|
|
is(paddingElt.textContent, "100");
|
|
});
|
|
|
|
function navigateTo(url) {
|
|
info("Navigating to " + url);
|
|
|
|
let def = promise.defer();
|
|
gBrowser.selectedBrowser.addEventListener("load", function onload() {
|
|
gBrowser.selectedBrowser.removeEventListener("load", onload, true);
|
|
info("URL " + url + " loading complete");
|
|
waitForFocus(def.resolve, content);
|
|
}, true);
|
|
content.location = url;
|
|
|
|
return def.promise;
|
|
}
|