diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /devtools/client/inspector/markup/test/browser_markup_dragdrop_invalidNodes.js | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | devtools/client/inspector/markup/test/browser_markup_dragdrop_invalidNodes.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_dragdrop_invalidNodes.js b/devtools/client/inspector/markup/test/browser_markup_dragdrop_invalidNodes.js new file mode 100644 index 0000000000..e12299394a --- /dev/null +++ b/devtools/client/inspector/markup/test/browser_markup_dragdrop_invalidNodes.js @@ -0,0 +1,67 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Check that pseudo-elements, anonymous nodes and slotted nodes are not draggable. + +const TEST_URL = URL_ROOT + "doc_markup_dragdrop.html"; + +add_task(async function () { + await pushPref("devtools.inspector.showAllAnonymousContent", true); + + const { inspector } = await openInspectorForURL(TEST_URL); + + info("Expanding nodes below #test"); + const parentFront = await getNodeFront("#test", inspector); + await inspector.markup.expandNode(parentFront); + await waitForMultipleChildrenUpdates(inspector); + + info("Getting the ::before pseudo element and selecting it"); + const parentContainer = await getContainerForNodeFront( + parentFront, + inspector + ); + const beforePseudo = parentContainer.elt.children[1].firstChild.container; + parentContainer.elt.scrollIntoView(true); + await selectNode(beforePseudo.node, inspector); + + info("Simulate dragging the ::before pseudo element"); + await simulateNodeDrag(inspector, beforePseudo); + + ok(!beforePseudo.isDragging, "::before pseudo element isn't dragging"); + + info("Expanding nodes below #anonymousParent"); + const inputFront = await getNodeFront("#anonymousParent", inspector); + await inspector.markup.expandNode(inputFront); + await waitForMultipleChildrenUpdates(inspector); + + info("Getting the anonymous node and selecting it"); + const inputContainer = await getContainerForNodeFront(inputFront, inspector); + const anonymousDiv = inputContainer.elt.children[1].firstChild.container; + inputContainer.elt.scrollIntoView(true); + await selectNode(anonymousDiv.node, inspector); + + info("Simulate dragging the anonymous node"); + await simulateNodeDrag(inspector, anonymousDiv); + + ok(!anonymousDiv.isDragging, "anonymous node isn't dragging"); + + info("Expanding all nodes below test-component"); + const testComponentFront = await getNodeFront("test-component", inspector); + await inspector.markup.expandAll(testComponentFront); + await waitForMultipleChildrenUpdates(inspector); + + info("Getting a slotted node and selecting it"); + // Directly use the markup getContainer API in order to retrieve the slotted container + // for a given node front. + const slotted1Front = await getNodeFront(".slotted1", inspector); + const slottedContainer = inspector.markup.getContainer(slotted1Front, true); + slottedContainer.elt.scrollIntoView(true); + await selectNode(slotted1Front, inspector, "no-reason", true); + + info("Simulate dragging the slotted node"); + await simulateNodeDrag(inspector, slottedContainer); + + ok(!slottedContainer.isDragging, "slotted node isn't dragging"); +}); |