summaryrefslogtreecommitdiff
path: root/toolkit/devtools/styleinspector/test/browser_ruleview_multiple-properties-duplicates.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/devtools/styleinspector/test/browser_ruleview_multiple-properties-duplicates.js')
-rw-r--r--toolkit/devtools/styleinspector/test/browser_ruleview_multiple-properties-duplicates.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/toolkit/devtools/styleinspector/test/browser_ruleview_multiple-properties-duplicates.js b/toolkit/devtools/styleinspector/test/browser_ruleview_multiple-properties-duplicates.js
new file mode 100644
index 000000000..0dd816c1a
--- /dev/null
+++ b/toolkit/devtools/styleinspector/test/browser_ruleview_multiple-properties-duplicates.js
@@ -0,0 +1,54 @@
+/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Test that the rule-view behaves correctly when entering mutliple and/or
+// unfinished properties/values in inplace-editors
+
+add_task(function*() {
+ yield addTab("data:text/html;charset=utf-8,test rule view user changes");
+ content.document.body.innerHTML = "<h1>Testing Multiple Properties</h1>";
+ let {toolbox, inspector, view} = yield openRuleView();
+
+ info("Creating the test element");
+ let newElement = content.document.createElement("div");
+ newElement.textContent = "Test Element";
+ content.document.body.appendChild(newElement);
+ yield selectNode("div", inspector);
+ let ruleEditor = getRuleViewRuleEditor(view, 0);
+
+ yield testCreateNewMultiDuplicates(inspector, ruleEditor);
+});
+
+function* testCreateNewMultiDuplicates(inspector, ruleEditor) {
+ yield createNewRuleViewProperty(ruleEditor,
+ "color:red;color:orange;color:yellow;color:green;color:blue;color:indigo;color:violet;");
+
+ is(ruleEditor.rule.textProps.length, 7, "Should have created new text properties.");
+ is(ruleEditor.propertyList.children.length, 8, "Should have created new property editors.");
+
+ is(ruleEditor.rule.textProps[0].name, "color", "Should have correct property name");
+ is(ruleEditor.rule.textProps[0].value, "red", "Should have correct property value");
+
+ is(ruleEditor.rule.textProps[1].name, "color", "Should have correct property name");
+ is(ruleEditor.rule.textProps[1].value, "orange", "Should have correct property value");
+
+ is(ruleEditor.rule.textProps[2].name, "color", "Should have correct property name");
+ is(ruleEditor.rule.textProps[2].value, "yellow", "Should have correct property value");
+
+ is(ruleEditor.rule.textProps[3].name, "color", "Should have correct property name");
+ is(ruleEditor.rule.textProps[3].value, "green", "Should have correct property value");
+
+ is(ruleEditor.rule.textProps[4].name, "color", "Should have correct property name");
+ is(ruleEditor.rule.textProps[4].value, "blue", "Should have correct property value");
+
+ is(ruleEditor.rule.textProps[5].name, "color", "Should have correct property name");
+ is(ruleEditor.rule.textProps[5].value, "indigo", "Should have correct property value");
+
+ is(ruleEditor.rule.textProps[6].name, "color", "Should have correct property name");
+ is(ruleEditor.rule.textProps[6].value, "violet", "Should have correct property value");
+
+ yield inspector.once("inspector-updated");
+}