diff options
Diffstat (limited to 'devtools/client/inspector/markup/test/browser_markup_css_completion_style_attribute_02.js')
-rw-r--r-- | devtools/client/inspector/markup/test/browser_markup_css_completion_style_attribute_02.js | 106 |
1 files changed, 106 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 000000000..345ee4866 --- /dev/null +++ b/devtools/client/inspector/markup/test/browser_markup_css_completion_style_attribute_02.js @@ -0,0 +1,106 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* 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(function* () { + let {inspector} = yield openInspectorForURL(TEST_URL); + + yield runStyleAttributeAutocompleteTests(inspector, TEST_DATA_DOUBLE); + yield runStyleAttributeAutocompleteTests(inspector, TEST_DATA_SINGLE); + yield runStyleAttributeAutocompleteTests(inspector, TEST_DATA_INNER); +}); |