summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/markup/test/browser_markup_css_completion_style_attribute_02.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--devtools/client/inspector/markup/test/browser_markup_css_completion_style_attribute_02.js103
1 files changed, 103 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_css_completion_style_attribute_02.js b/devtools/client/inspector/markup/test/browser_markup_css_completion_style_attribute_02.js
new file mode 100644
index 0000000000..d934fc4e2c
--- /dev/null
+++ b/devtools/client/inspector/markup/test/browser_markup_css_completion_style_attribute_02.js
@@ -0,0 +1,103 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+/* import-globals-from helper_style_attr_test_runner.js */
+
+"use strict";
+
+// Test CSS autocompletion of the style attributes stops after closing the
+// attribute using a matching quote.
+
+loadHelperScript("helper_style_attr_test_runner.js");
+
+const TEST_URL = URL_ROOT + "doc_markup_edit.html";
+
+// test data format :
+// [
+// what key to press,
+// expected input box value after keypress,
+// expected input.selectionStart,
+// expected input.selectionEnd,
+// is popup expected to be open ?
+// ]
+const TEST_DATA_DOUBLE = [
+ ["s", "s", 1, 1, false],
+ ["t", "st", 2, 2, false],
+ ["y", "sty", 3, 3, false],
+ ["l", "styl", 4, 4, false],
+ ["e", "style", 5, 5, false],
+ ["=", "style=", 6, 6, false],
+ ['"', 'style="', 7, 7, false],
+ ["c", 'style="color', 8, 12, true],
+ ["VK_RIGHT", 'style="color', 12, 12, false],
+ [":", 'style="color:aliceblue', 13, 22, true],
+ ["b", 'style="color:beige', 14, 18, true],
+ ["VK_RIGHT", 'style="color:beige', 18, 18, false],
+ ['"', 'style="color:beige"', 19, 19, false],
+ [" ", 'style="color:beige" ', 20, 20, false],
+ ["d", 'style="color:beige" d', 21, 21, false],
+ ["a", 'style="color:beige" da', 22, 22, false],
+ ["t", 'style="color:beige" dat', 23, 23, false],
+ ["a", 'style="color:beige" data', 24, 24, false],
+ ["VK_RETURN", 'style="color:beige"', -1, -1, false],
+];
+
+// Check that single quote attribute is also supported
+const TEST_DATA_SINGLE = [
+ ["s", "s", 1, 1, false],
+ ["t", "st", 2, 2, false],
+ ["y", "sty", 3, 3, false],
+ ["l", "styl", 4, 4, false],
+ ["e", "style", 5, 5, false],
+ ["=", "style=", 6, 6, false],
+ ["'", "style='", 7, 7, false],
+ ["c", "style='color", 8, 12, true],
+ ["VK_RIGHT", "style='color", 12, 12, false],
+ [":", "style='color:aliceblue", 13, 22, true],
+ ["b", "style='color:beige", 14, 18, true],
+ ["VK_RIGHT", "style='color:beige", 18, 18, false],
+ ["'", "style='color:beige'", 19, 19, false],
+ [" ", "style='color:beige' ", 20, 20, false],
+ ["d", "style='color:beige' d", 21, 21, false],
+ ["a", "style='color:beige' da", 22, 22, false],
+ ["t", "style='color:beige' dat", 23, 23, false],
+ ["a", "style='color:beige' data", 24, 24, false],
+ ["VK_RETURN", 'style="color:beige"', -1, -1, false],
+];
+
+// Check that autocompletion is still enabled after using url('1)
+const TEST_DATA_INNER = [
+ ["s", "s", 1, 1, false],
+ ["t", "st", 2, 2, false],
+ ["y", "sty", 3, 3, false],
+ ["l", "styl", 4, 4, false],
+ ["e", "style", 5, 5, false],
+ ["=", "style=", 6, 6, false],
+ ['"', 'style="', 7, 7, false],
+ ["b", 'style="border', 8, 13, true],
+ ["a", 'style="background', 9, 17, true],
+ ["VK_RIGHT", 'style="background', 17, 17, false],
+ [":", 'style="background:aliceblue', 18, 27, true],
+ ["u", 'style="background:unset', 19, 23, true],
+ ["r", 'style="background:url', 20, 21, false],
+ ["l", 'style="background:url', 21, 21, false],
+ ["(", 'style="background:url()', 22, 22, false],
+ ["'", "style=\"background:url(')", 23, 23, false],
+ ["1", "style=\"background:url('1)", 24, 24, false],
+ ["'", "style=\"background:url('1')", 25, 25, false],
+ [")", "style=\"background:url('1')", 26, 26, false],
+ [";", "style=\"background:url('1');", 27, 27, false],
+ [" ", "style=\"background:url('1'); ", 28, 28, false],
+ ["c", "style=\"background:url('1'); color", 29, 33, true],
+ ["VK_RIGHT", "style=\"background:url('1'); color", 33, 33, false],
+ [":", "style=\"background:url('1'); color:aliceblue", 34, 43, true],
+ ["b", "style=\"background:url('1'); color:beige", 35, 39, true],
+ ["VK_RETURN", "style=\"background:url('1'); color:beige\"", -1, -1, false],
+];
+
+add_task(async function () {
+ const { inspector } = await openInspectorForURL(TEST_URL);
+
+ await runStyleAttributeAutocompleteTests(inspector, TEST_DATA_DOUBLE);
+ await runStyleAttributeAutocompleteTests(inspector, TEST_DATA_SINGLE);
+ await runStyleAttributeAutocompleteTests(inspector, TEST_DATA_INNER);
+});