|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <!-- |
|
4 https://bugzilla.mozilla.org/show_bug.cgi?id=574596 |
|
5 --> |
|
6 <head> |
|
7 <title>Test for Bug 574596</title> |
|
8 <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> |
|
9 <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> |
|
10 <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/ChromeUtils.js"></script> |
|
11 <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/> |
|
12 </head> |
|
13 <body> |
|
14 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=574596">Mozilla Bug 574596</a> |
|
15 <style type="text/css"> |
|
16 #link1 a { -moz-user-select:none; } |
|
17 </style> |
|
18 <div id="link1"><a href="http://www.mozilla.org/">link1</a></div> |
|
19 <div id="link2"><a href="http://www.mozilla.org/">link2</a></div> |
|
20 <p id="display"></p> |
|
21 <div id="content" style="display: none"> |
|
22 |
|
23 </div> |
|
24 <pre id="test"> |
|
25 <script type="application/javascript"> |
|
26 |
|
27 /** Test for Bug 574596 **/ |
|
28 |
|
29 function ignoreFunc(actualData, expectedData) { |
|
30 return true; |
|
31 } |
|
32 |
|
33 var dragLinkText = [[ |
|
34 { type:"text/x-moz-url", data:"", eqTest:ignoreFunc }, |
|
35 { type:"text/x-moz-url-data", data:"http://www.mozilla.org/" }, |
|
36 { type:"text/x-moz-url-desc", data:"link1" }, |
|
37 { type:"text/uri-list", data:"http://www.mozilla.org/" }, |
|
38 { type:"text/_moz_htmlcontext", data:"", eqTest:ignoreFunc }, |
|
39 { type:"text/_moz_htmlinfo", data:"", eqTest:ignoreFunc }, |
|
40 { type:"text/html", data:'<div id="link1"><a href="http://www.mozilla.org/">link1</a></div>' }, |
|
41 { type:"text/plain", data:"http://www.mozilla.org/" } |
|
42 ]]; |
|
43 |
|
44 |
|
45 function dumpTransfer(dataTransfer,expect) { |
|
46 dtData = dataTransfer.mozItemCount + "items:\n"; |
|
47 for (var i = 0; i < dataTransfer.mozItemCount; i++) { |
|
48 var dtTypes = dataTransfer.mozTypesAt(i); |
|
49 for (var j = 0; j < dtTypes.length; j++) { |
|
50 var actualData = dataTransfer.mozGetDataAt(dtTypes[j],i) |
|
51 if (expect && expect[i] && expect[i][j]) { |
|
52 if (expect[i][j].eqTest) |
|
53 dtData += expect[i][j].eqTest(actualData,expect[i][j].data) ? "ok" : "fail"; |
|
54 else |
|
55 dtData += (actualData == expect[i][j].data) ? "ok" : "fail"; |
|
56 } |
|
57 dtData += "["+i+"]" + "["+j+"]: " + '"' + dtTypes[j] + '" "' + actualData + '"\n'; |
|
58 } |
|
59 } |
|
60 alert(dtData); |
|
61 } |
|
62 |
|
63 function runTest() { |
|
64 var result = synthesizeDragStart($('link1'), dragLinkText, window); |
|
65 is(result, null, "Drag -moz-user-select:none link (#link1)"); |
|
66 // if (result) dumpTransfer(result,dragLinkText); |
|
67 |
|
68 dragLinkText[0][2].data = "link2"; |
|
69 dragLinkText[0][6].data = '<div id="link2"><a href="http://www.mozilla.org/">link2</a></div>' |
|
70 var result = synthesizeDragStart($('link2'), dragLinkText, window); |
|
71 is(result, null, "Drag link (#link2)"); |
|
72 // if (result) dumpTransfer(result,dragLinkText); |
|
73 |
|
74 SimpleTest.finish(); |
|
75 } |
|
76 |
|
77 SimpleTest.waitForExplicitFinish(); |
|
78 SimpleTest.waitForFocus(runTest); |
|
79 |
|
80 |
|
81 </script> |
|
82 </pre> |
|
83 </body> |
|
84 </html> |