diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /devtools/client/animationinspector/test/browser_animation_target_highlighter_lock.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/animationinspector/test/browser_animation_target_highlighter_lock.js')
-rw-r--r-- | devtools/client/animationinspector/test/browser_animation_target_highlighter_lock.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/devtools/client/animationinspector/test/browser_animation_target_highlighter_lock.js b/devtools/client/animationinspector/test/browser_animation_target_highlighter_lock.js new file mode 100644 index 000000000..b5e952679 --- /dev/null +++ b/devtools/client/animationinspector/test/browser_animation_target_highlighter_lock.js @@ -0,0 +1,54 @@ +/* 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"; + +requestLongerTimeout(2); + +// Test that the DOM element targets displayed in animation player widgets can +// be used to highlight elements in the DOM and select them in the inspector. + +add_task(function* () { + yield addTab(URL_ROOT + "doc_simple_animation.html"); + let {panel} = yield openAnimationInspector(); + + let targets = panel.animationsTimelineComponent.targetNodes; + + info("Click on the highlighter icon for the first animated node"); + let domNodePreview1 = targets[0].previewer; + yield lockHighlighterOn(domNodePreview1); + ok(domNodePreview1.highlightNodeEl.classList.contains("selected"), + "The highlighter icon is selected"); + + info("Click on the highlighter icon for the second animated node"); + let domNodePreview2 = targets[1].previewer; + yield lockHighlighterOn(domNodePreview2); + ok(domNodePreview2.highlightNodeEl.classList.contains("selected"), + "The highlighter icon is selected"); + ok(!domNodePreview1.highlightNodeEl.classList.contains("selected"), + "The highlighter icon for the first node is unselected"); + + info("Click again to unhighlight"); + yield unlockHighlighterOn(domNodePreview2); + ok(!domNodePreview2.highlightNodeEl.classList.contains("selected"), + "The highlighter icon for the second node is unselected"); +}); + +function* lockHighlighterOn(domNodePreview) { + let onLocked = domNodePreview.once("target-highlighter-locked"); + clickOnHighlighterIcon(domNodePreview); + yield onLocked; +} + +function* unlockHighlighterOn(domNodePreview) { + let onUnlocked = domNodePreview.once("target-highlighter-unlocked"); + clickOnHighlighterIcon(domNodePreview); + yield onUnlocked; +} + +function clickOnHighlighterIcon(domNodePreview) { + let lockEl = domNodePreview.highlightNodeEl; + EventUtils.sendMouseEvent({type: "click"}, lockEl, + lockEl.ownerDocument.defaultView); +} |