Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test that markup view handles page navigation correctly.
const URL_1 = URL_ROOT_SSL + "doc_markup_update-on-navigtion_1.html";
const URL_2 = URL_ROOT_SSL + "doc_markup_update-on-navigtion_2.html";
add_task(async function () {
const { inspector, toolbox } = await openInspectorForURL(URL_1);
assertMarkupViewIsLoaded();
await selectNode("#one", inspector);
const { resourceCommand } = toolbox.commands;
const { onResource: willNavigate } =
await resourceCommand.waitForNextResource(
resourceCommand.TYPES.DOCUMENT_EVENT,
{
ignoreExistingResources: true,
predicate(resource) {
return resource.name == "will-navigate";
},
}
);
// We should not await on navigateTo here, because the test will assert the
// various phases of the inspector during the navigation.
const onNavigated = navigateTo(URL_2);
info("Waiting for will-navigate");
await willNavigate;
info("Navigation to page 2 has started, the inspector should be empty");
assertMarkupViewIsEmpty();
info("Waiting for new-root");
await inspector.once("new-root");
info("Navigation to page 2 was done, the inspector should be back up");
assertMarkupViewIsLoaded();
await onNavigated;
await selectNode("#two", inspector);
function assertMarkupViewIsLoaded() {
const markupViewBox = inspector.panelDoc.getElementById("markup-box");
is(markupViewBox.childNodes.length, 1, "The markup-view is loaded");
}
function assertMarkupViewIsEmpty() {
const markupViewFrame =
inspector._markupFrame.contentDocument.getElementById("root");
is(markupViewFrame.childNodes.length, 0, "The markup-view is unloaded");
}
});