summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/markup/test/browser_markup_update-on-navigtion.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /devtools/client/inspector/markup/test/browser_markup_update-on-navigtion.js
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
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");
+ }
+});