From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../test/browser_computed_keybindings_01.js | 83 ++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 devtools/client/inspector/computed/test/browser_computed_keybindings_01.js (limited to 'devtools/client/inspector/computed/test/browser_computed_keybindings_01.js') diff --git a/devtools/client/inspector/computed/test/browser_computed_keybindings_01.js b/devtools/client/inspector/computed/test/browser_computed_keybindings_01.js new file mode 100644 index 000000000..199e125af --- /dev/null +++ b/devtools/client/inspector/computed/test/browser_computed_keybindings_01.js @@ -0,0 +1,83 @@ +/* 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"; + +// Tests computed view key bindings. + +const TEST_URI = ` + + Some styled text +`; + +add_task(function* () { + yield addTab("data:text/html;charset=utf-8," + encodeURIComponent(TEST_URI)); + let {inspector, view} = yield openComputedView(); + yield selectNode(".matches", inspector); + + let propView = getFirstVisiblePropertyView(view); + let rulesTable = propView.matchedSelectorsContainer; + let matchedExpander = propView.element; + + info("Focusing the property"); + matchedExpander.scrollIntoView(); + let onMatchedExpanderFocus = once(matchedExpander, "focus", true); + EventUtils.synthesizeMouseAtCenter(matchedExpander, {}, view.styleWindow); + yield onMatchedExpanderFocus; + + yield checkToggleKeyBinding(view.styleWindow, "VK_SPACE", rulesTable, + inspector); + yield checkToggleKeyBinding(view.styleWindow, "VK_RETURN", rulesTable, + inspector); + yield checkHelpLinkKeybinding(view); +}); + +function getFirstVisiblePropertyView(view) { + let propView = null; + view.propertyViews.some(p => { + if (p.visible) { + propView = p; + return true; + } + return false; + }); + + return propView; +} + +function* checkToggleKeyBinding(win, key, rulesTable, inspector) { + info("Pressing " + key + " key a couple of times to check that the " + + "property gets expanded/collapsed"); + + let onExpand = inspector.once("computed-view-property-expanded"); + let onCollapse = inspector.once("computed-view-property-collapsed"); + + info("Expanding the property"); + EventUtils.synthesizeKey(key, {}, win); + yield onExpand; + isnot(rulesTable.innerHTML, "", "The property has been expanded"); + + info("Collapsing the property"); + EventUtils.synthesizeKey(key, {}, win); + yield onCollapse; + is(rulesTable.innerHTML, "", "The property has been collapsed"); +} + +function checkHelpLinkKeybinding(view) { + info("Check that MDN link is opened on \"F1\""); + let def = defer(); + + let propView = getFirstVisiblePropertyView(view); + propView.mdnLinkClick = function (event) { + ok(true, "Pressing F1 opened the MDN link"); + def.resolve(); + }; + + EventUtils.synthesizeKey("VK_F1", {}, view.styleWindow); + return def.promise; +} -- cgit v1.2.3