1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/base/test/chrome/test_bug574596.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,84 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<!-- 1.7 +https://bugzilla.mozilla.org/show_bug.cgi?id=574596 1.8 +--> 1.9 +<head> 1.10 + <title>Test for Bug 574596</title> 1.11 + <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 1.12 + <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> 1.13 + <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/ChromeUtils.js"></script> 1.14 + <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/> 1.15 +</head> 1.16 +<body> 1.17 +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=574596">Mozilla Bug 574596</a> 1.18 +<style type="text/css"> 1.19 +#link1 a { -moz-user-select:none; } 1.20 +</style> 1.21 +<div id="link1"><a href="http://www.mozilla.org/">link1</a></div> 1.22 +<div id="link2"><a href="http://www.mozilla.org/">link2</a></div> 1.23 +<p id="display"></p> 1.24 +<div id="content" style="display: none"> 1.25 + 1.26 +</div> 1.27 +<pre id="test"> 1.28 +<script type="application/javascript"> 1.29 + 1.30 +/** Test for Bug 574596 **/ 1.31 + 1.32 +function ignoreFunc(actualData, expectedData) { 1.33 + return true; 1.34 +} 1.35 + 1.36 +var dragLinkText = [[ 1.37 + { type:"text/x-moz-url", data:"", eqTest:ignoreFunc }, 1.38 + { type:"text/x-moz-url-data", data:"http://www.mozilla.org/" }, 1.39 + { type:"text/x-moz-url-desc", data:"link1" }, 1.40 + { type:"text/uri-list", data:"http://www.mozilla.org/" }, 1.41 + { type:"text/_moz_htmlcontext", data:"", eqTest:ignoreFunc }, 1.42 + { type:"text/_moz_htmlinfo", data:"", eqTest:ignoreFunc }, 1.43 + { type:"text/html", data:'<div id="link1"><a href="http://www.mozilla.org/">link1</a></div>' }, 1.44 + { type:"text/plain", data:"http://www.mozilla.org/" } 1.45 +]]; 1.46 + 1.47 + 1.48 +function dumpTransfer(dataTransfer,expect) { 1.49 + dtData = dataTransfer.mozItemCount + "items:\n"; 1.50 + for (var i = 0; i < dataTransfer.mozItemCount; i++) { 1.51 + var dtTypes = dataTransfer.mozTypesAt(i); 1.52 + for (var j = 0; j < dtTypes.length; j++) { 1.53 + var actualData = dataTransfer.mozGetDataAt(dtTypes[j],i) 1.54 + if (expect && expect[i] && expect[i][j]) { 1.55 + if (expect[i][j].eqTest) 1.56 + dtData += expect[i][j].eqTest(actualData,expect[i][j].data) ? "ok" : "fail"; 1.57 + else 1.58 + dtData += (actualData == expect[i][j].data) ? "ok" : "fail"; 1.59 + } 1.60 + dtData += "["+i+"]" + "["+j+"]: " + '"' + dtTypes[j] + '" "' + actualData + '"\n'; 1.61 + } 1.62 + } 1.63 + alert(dtData); 1.64 +} 1.65 + 1.66 +function runTest() { 1.67 + var result = synthesizeDragStart($('link1'), dragLinkText, window); 1.68 + is(result, null, "Drag -moz-user-select:none link (#link1)"); 1.69 + // if (result) dumpTransfer(result,dragLinkText); 1.70 + 1.71 + dragLinkText[0][2].data = "link2"; 1.72 + dragLinkText[0][6].data = '<div id="link2"><a href="http://www.mozilla.org/">link2</a></div>' 1.73 + var result = synthesizeDragStart($('link2'), dragLinkText, window); 1.74 + is(result, null, "Drag link (#link2)"); 1.75 + // if (result) dumpTransfer(result,dragLinkText); 1.76 + 1.77 + SimpleTest.finish(); 1.78 +} 1.79 + 1.80 +SimpleTest.waitForExplicitFinish(); 1.81 +SimpleTest.waitForFocus(runTest); 1.82 + 1.83 + 1.84 +</script> 1.85 +</pre> 1.86 +</body> 1.87 +</html>