diff options
Diffstat (limited to '')
-rw-r--r-- | devtools/client/inspector/rules/test/browser_rules_cubicbezier-revert-on-ESC.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/devtools/client/inspector/rules/test/browser_rules_cubicbezier-revert-on-ESC.js b/devtools/client/inspector/rules/test/browser_rules_cubicbezier-revert-on-ESC.js new file mode 100644 index 0000000000..91371fa548 --- /dev/null +++ b/devtools/client/inspector/rules/test/browser_rules_cubicbezier-revert-on-ESC.js @@ -0,0 +1,67 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Tests that changes made to the cubic-bezier timing-function in the +// cubic-bezier tooltip are reverted when ESC is pressed. + +const TEST_URI = ` + <style type='text/css'> + body { + animation-timing-function: linear; + } + </style> +`; + +add_task(async function () { + await addTab("data:text/html;charset=utf-8," + encodeURIComponent(TEST_URI)); + const { view } = await openRuleView(); + await testPressingEscapeRevertsChanges(view); +}); + +async function testPressingEscapeRevertsChanges(view) { + const { propEditor } = await openCubicBezierAndChangeCoords( + view, + 1, + 0, + [0.1, 2, 0.9, -1], + { + selector: "body", + name: "animation-timing-function", + value: "cubic-bezier(0.1, 2, 0.9, -1)", + } + ); + + is( + propEditor.valueSpan.textContent, + "cubic-bezier(.1,2,.9,-1)", + "Got expected property value." + ); + + await escapeTooltip(view); + + await waitForComputedStyleProperty( + "body", + null, + "animation-timing-function", + "linear" + ); + is( + propEditor.valueSpan.textContent, + "linear", + "Got expected property value." + ); +} + +async function escapeTooltip(view) { + info("Pressing ESCAPE to close the tooltip"); + + const bezierTooltip = view.tooltips.getTooltip("cubicBezier"); + const widget = await bezierTooltip.widget; + const onHidden = bezierTooltip.tooltip.once("hidden"); + const onModifications = view.once("ruleview-changed"); + focusAndSendKey(widget.parent.ownerDocument.defaultView, "ESCAPE"); + await onHidden; + await onModifications; +} |