summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/markup/test/browser_markup_update-on-navigtion.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--devtools/client/inspector/markup/test/browser_markup_update-on-navigtion.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_update-on-navigtion.js b/devtools/client/inspector/markup/test/browser_markup_update-on-navigtion.js
new file mode 100644
index 0000000000..e495580d66
--- /dev/null
+++ b/devtools/client/inspector/markup/test/browser_markup_update-on-navigtion.js
@@ -0,0 +1,57 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+"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");
+ }
+});