diff -r 000000000000 -r 6474c204b198 browser/base/content/test/general/browser_drag.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/base/content/test/general/browser_drag.js Wed Dec 31 06:09:35 2014 +0100 @@ -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 = "" + value + ""; + 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); +}