summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/markup/test/browser_markup_dragdrop_escapeKeyPress.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/inspector/markup/test/browser_markup_dragdrop_escapeKeyPress.js')
-rw-r--r--devtools/client/inspector/markup/test/browser_markup_dragdrop_escapeKeyPress.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_dragdrop_escapeKeyPress.js b/devtools/client/inspector/markup/test/browser_markup_dragdrop_escapeKeyPress.js
new file mode 100644
index 000000000..075d14352
--- /dev/null
+++ b/devtools/client/inspector/markup/test/browser_markup_dragdrop_escapeKeyPress.js
@@ -0,0 +1,34 @@
+/* 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 whether ESCAPE keypress cancels dragging of an element.
+
+const TEST_URL = URL_ROOT + "doc_markup_dragdrop.html";
+
+add_task(function* () {
+ let {inspector} = yield openInspectorForURL(TEST_URL);
+ let {markup} = inspector;
+
+ info("Get a test container");
+ yield selectNode("#test", inspector);
+ let container = yield getContainerForSelector("#test", inspector);
+
+ info("Simulate a drag/drop on this container");
+ yield simulateNodeDrag(inspector, "#test");
+
+ ok(container.isDragging && markup.isDragging,
+ "The container is being dragged");
+ ok(markup.doc.body.classList.contains("dragging"),
+ "The dragging css class was added");
+
+ info("Simulate ESCAPE keypress");
+ EventUtils.sendKey("escape", inspector.panelWin);
+
+ ok(!container.isDragging && !markup.isDragging,
+ "The dragging has stopped");
+ ok(!markup.doc.body.classList.contains("dragging"),
+ "The dragging css class was removed");
+});