summaryrefslogtreecommitdiffstats
path: root/devtools/client/styleeditor/test/browser_styleeditor_init.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/styleeditor/test/browser_styleeditor_init.js')
-rw-r--r--devtools/client/styleeditor/test/browser_styleeditor_init.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/devtools/client/styleeditor/test/browser_styleeditor_init.js b/devtools/client/styleeditor/test/browser_styleeditor_init.js
new file mode 100644
index 0000000000..2183495441
--- /dev/null
+++ b/devtools/client/styleeditor/test/browser_styleeditor_init.js
@@ -0,0 +1,52 @@
+"use strict";
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Checks that style editor contains correct stylesheets after initialization.
+
+const TESTCASE_URI = TEST_BASE_HTTP + "simple.html";
+const EXPECTED_SHEETS = [
+ {
+ sheetIndex: 0,
+ name: /^simple.css$/,
+ rules: 1,
+ active: true,
+ },
+ {
+ sheetIndex: 1,
+ name: /^<.*>$/,
+ rules: 3,
+ active: false,
+ },
+];
+
+add_task(async function () {
+ const { ui } = await openStyleEditorForURL(TESTCASE_URI);
+
+ is(ui.editors.length, 2, "The UI contains two style sheets.");
+ checkSheet(ui.editors[0], EXPECTED_SHEETS[0]);
+ checkSheet(ui.editors[1], EXPECTED_SHEETS[1]);
+});
+
+function checkSheet(editor, expected) {
+ is(
+ editor.styleSheet.styleSheetIndex,
+ expected.sheetIndex,
+ "Style sheet has correct index."
+ );
+
+ const summary = editor.summary;
+ const name = summary
+ .querySelector(".stylesheet-name > label")
+ .getAttribute("value");
+ ok(expected.name.test(name), "The name '" + name + "' is correct.");
+
+ const ruleCount = summary.querySelector(".stylesheet-rule-count").textContent;
+ is(parseInt(ruleCount, 10), expected.rules, "the rule count is correct");
+
+ is(
+ summary.classList.contains("splitview-active"),
+ expected.active,
+ "The active status for this sheet is correct."
+ );
+}