summaryrefslogtreecommitdiff
path: root/browser/base/content/test/browser_drag.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/browser_drag.js')
-rw-r--r--browser/base/content/test/browser_drag.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/browser/base/content/test/browser_drag.js b/browser/base/content/test/browser_drag.js
new file mode 100644
index 000000000..6aa14bea0
--- /dev/null
+++ b/browser/base/content/test/browser_drag.js
@@ -0,0 +1,45 @@
+function test()
+{
+ waitForExplicitFinish();
+
+ let scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"].
+ getService(Ci.mozIJSSubScriptLoader);
+ let ChromeUtils = {};
+ scriptLoader.loadSubScript("chrome://mochikit/content/tests/SimpleTest/ChromeUtils.js", ChromeUtils);
+
+ // ---- Test dragging the proxy icon ---
+ var value = content.location.href;
+ var urlString = value + "\n" + content.document.title;
+ var htmlString = "<a href=\"" + value + "\">" + value + "</a>";
+ var expected = [ [
+ { type : "text/x-moz-url",
+ data : urlString },
+ { type : "text/uri-list",
+ data : value },
+ { type : "text/plain",
+ data : value },
+ { type : "text/html",
+ data : htmlString }
+ ] ];
+ // set the valid attribute so dropping is allowed
+ var oldstate = gURLBar.getAttribute("pageproxystate");
+ gURLBar.setAttribute("pageproxystate", "valid");
+ var dt = EventUtils.synthesizeDragStart(document.getElementById("identity-box"), expected);
+ is(dt, null, "drag on proxy icon");
+ gURLBar.setAttribute("pageproxystate", oldstate);
+ // Now, the identity information panel is opened by the proxy icon click.
+ // We need to close it for next tests.
+ EventUtils.synthesizeKey("VK_ESCAPE", {}, window);
+
+ // now test dragging onto a tab
+ var tab = gBrowser.addTab("about:blank", {skipAnimation: true});
+ var browser = gBrowser.getBrowserForTab(tab);
+
+ browser.addEventListener("load", function () {
+ is(browser.contentWindow.location, "http://mochi.test:8888/", "drop on tab");
+ gBrowser.removeTab(tab);
+ finish();
+ }, true);
+
+ ChromeUtils.synthesizeDrop(tab, tab, [[{type: "text/uri-list", data: "http://mochi.test:8888/"}]], "copy", window);
+}