diff options
Diffstat (limited to 'devtools/client/inspector/markup/test/browser_markup_tag_edit_09.js')
-rw-r--r-- | devtools/client/inspector/markup/test/browser_markup_tag_edit_09.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_tag_edit_09.js b/devtools/client/inspector/markup/test/browser_markup_tag_edit_09.js new file mode 100644 index 000000000..8680ab9f5 --- /dev/null +++ b/devtools/client/inspector/markup/test/browser_markup_tag_edit_09.js @@ -0,0 +1,71 @@ +/* vim: set 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 editing a mixed-case attribute preserves the case + +const TEST_URL = URL_ROOT + "doc_markup_svg_attributes.html"; + +add_task(function* () { + let {inspector, testActor} = yield openInspectorForURL(TEST_URL); + + yield inspector.markup.expandAll(); + yield selectNode("svg", inspector); + + yield testWellformedMixedCase(inspector, testActor); + yield testMalformedMixedCase(inspector, testActor); +}); + +function* testWellformedMixedCase(inspector, testActor) { + info("Modifying a mixed-case attribute, " + + "expecting the attribute's case to be preserved"); + + info("Listening to markup mutations"); + let onMutated = inspector.once("markupmutation"); + + info("Focusing the viewBox attribute editor"); + let {editor} = yield focusNode("svg", inspector); + let attr = editor.attrElements.get("viewBox").querySelector(".editable"); + attr.focus(); + EventUtils.sendKey("return", inspector.panelWin); + + info("Editing the attribute value and waiting for the mutation event"); + let input = inplaceEditor(attr).input; + input.value = "viewBox=\"0 0 1 1\""; + EventUtils.sendKey("return", inspector.panelWin); + yield onMutated; + + yield assertAttributes("svg", { + "viewBox": "0 0 1 1", + "width": "200", + "height": "200" + }, testActor); +} + +function* testMalformedMixedCase(inspector, testActor) { + info("Modifying a malformed, mixed-case attribute, " + + "expecting the attribute's case to be preserved"); + + info("Listening to markup mutations"); + let onMutated = inspector.once("markupmutation"); + + info("Focusing the viewBox attribute editor"); + let {editor} = yield focusNode("svg", inspector); + let attr = editor.attrElements.get("viewBox").querySelector(".editable"); + attr.focus(); + EventUtils.sendKey("return", inspector.panelWin); + + info("Editing the attribute value and waiting for the mutation event"); + let input = inplaceEditor(attr).input; + input.value = "viewBox=\"<>\""; + EventUtils.sendKey("return", inspector.panelWin); + yield onMutated; + + yield assertAttributes("svg", { + "viewBox": "<>", + "width": "200", + "height": "200" + }, testActor); +} |