summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/flexbox/test/browser_flexbox_toggle_flexbox_highlighter_02.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--devtools/client/inspector/flexbox/test/browser_flexbox_toggle_flexbox_highlighter_02.js102
1 files changed, 102 insertions, 0 deletions
diff --git a/devtools/client/inspector/flexbox/test/browser_flexbox_toggle_flexbox_highlighter_02.js b/devtools/client/inspector/flexbox/test/browser_flexbox_toggle_flexbox_highlighter_02.js
new file mode 100644
index 0000000000..c7d7c35d9a
--- /dev/null
+++ b/devtools/client/inspector/flexbox/test/browser_flexbox_toggle_flexbox_highlighter_02.js
@@ -0,0 +1,102 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Test toggling ON/OFF the flexbox highlighter on different flex containers from the
+// flexbox inspector panel.
+
+const TEST_URI = URL_ROOT + "doc_flexbox_specific_cases.html";
+
+add_task(async function () {
+ await addTab(TEST_URI);
+ const { inspector, flexboxInspector } = await openLayoutView();
+ const { document: doc } = flexboxInspector;
+ const { store } = inspector;
+ const HIGHLIGHTER_TYPE = inspector.highlighters.TYPES.FLEXBOX;
+ const { getActiveHighlighter, getNodeForActiveHighlighter } =
+ getHighlighterTestHelpers(inspector);
+
+ const onFlexHighlighterToggleRendered = waitForDOM(
+ doc,
+ "#flexbox-checkbox-toggle"
+ );
+ await selectNode("#container", inspector);
+ const [flexHighlighterToggle] = await onFlexHighlighterToggleRendered;
+
+ info("Checking the #container state of the Flexbox Inspector.");
+ ok(flexHighlighterToggle, "The flexbox highlighter toggle is rendered.");
+ ok(
+ !flexHighlighterToggle.checked,
+ "The flexbox highlighter toggle is unchecked."
+ );
+ ok(
+ !getActiveHighlighter(HIGHLIGHTER_TYPE),
+ "No flexbox highlighter is shown."
+ );
+
+ info(
+ "Toggling ON the flexbox highlighter for #container from the layout panel."
+ );
+ await toggleHighlighterON(flexHighlighterToggle, inspector);
+
+ info("Checking the flexbox highlighter is created for #container.");
+ const highlightedNodeFront = store.getState().flexbox.flexContainer.nodeFront;
+ is(
+ getNodeForActiveHighlighter(HIGHLIGHTER_TYPE),
+ highlightedNodeFront,
+ "Flexbox highlighter is shown for #container."
+ );
+ ok(
+ flexHighlighterToggle.checked,
+ "The flexbox highlighter toggle is checked."
+ );
+
+ info("Switching the selected flex container to .container.column");
+ const onToggleChange = waitUntilState(
+ store,
+ state => !state.flexbox.highlighted
+ );
+ await selectNode(".container.column", inspector);
+ await onToggleChange;
+
+ info("Checking the .container.column state of the Flexbox Inspector.");
+ ok(
+ !flexHighlighterToggle.checked,
+ "The flexbox highlighter toggle is unchecked."
+ );
+ is(
+ getNodeForActiveHighlighter(HIGHLIGHTER_TYPE),
+ highlightedNodeFront,
+ "Flexbox highlighter is still shown for #container."
+ );
+
+ info(
+ "Toggling ON the flexbox highlighter for .container.column from the layout " +
+ "panel."
+ );
+ await toggleHighlighterON(flexHighlighterToggle, inspector);
+
+ info("Checking the flexbox highlighter is created for .container.column");
+ is(
+ getNodeForActiveHighlighter(HIGHLIGHTER_TYPE),
+ store.getState().flexbox.flexContainer.nodeFront,
+ "Flexbox highlighter is shown for .container.column."
+ );
+ ok(
+ flexHighlighterToggle.checked,
+ "The flexbox highlighter toggle is checked."
+ );
+
+ await toggleHighlighterOFF(flexHighlighterToggle, inspector);
+
+ info("Checking the flexbox highlighter is not shown.");
+ ok(
+ !getActiveHighlighter(HIGHLIGHTER_TYPE),
+ "No flexbox highlighter is shown."
+ );
+ ok(
+ !flexHighlighterToggle.checked,
+ "The flexbox highlighter toggle is unchecked."
+ );
+});