| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script src="../../resources/js-test.js"></script> | 3 <script src="../../resources/js-test.js"></script> |
| 4 <style> | 4 <style> |
| 5 #dropTarget, #dragMe { text-align: center; display: table-cell; vertical-align:
middle } | 5 #dropTarget, #dragMe { text-align: center; display: table-cell; vertical-align:
middle } |
| 6 #dropTarget {width: 256px; height: 256px; border: 1px dashed} | 6 #dropTarget {width: 256px; height: 256px; border: 1px dashed} |
| 7 #dragMe {-webkit-user-drag: element; -webkit-user-select: none; background: #ff0
000; width: 64px; height: 64px; color: white} | 7 #dragMe {-webkit-user-drag: element; -webkit-user-select: none; background: #ff0
000; width: 64px; height: 64px; color: white} |
| 8 </style> | 8 </style> |
| 9 <script> | 9 <script> |
| 10 var dragMe; | 10 var dragMe; |
| 11 var dropTarget; | 11 var dropTarget; |
| 12 var effectAllowedElem; | 12 var effectAllowedElem; |
| 13 var dropEffectElem; | 13 var dropEffectElem; |
| 14 var consoleElm; | 14 var consoleElm; |
| 15 var event; | 15 var event; |
| 16 | 16 |
| 17 window.onload = function() | 17 window.onload = function() |
| 18 { | 18 { |
| 19 dragMe = document.getElementById("dragMe"); | 19 dragMe = document.getElementById("dragMe"); |
| 20 dropTarget = document.getElementById("dropTarget"); | 20 dropTarget = document.getElementById("dropTarget"); |
| 21 consoleElm = document.getElementById("console"); | 21 consoleElm = document.getElementById("console"); |
| 22 | 22 |
| 23 if (!dragMe || !dropTarget || !consoleElm) | 23 if (!dragMe || !dropTarget || !consoleElm) |
| 24 return; | 24 return; |
| 25 | 25 |
| 26 dragMe.ondragstart = dragStart; | 26 dragMe.ondragstart = dragStart; |
| 27 dragMe.ondragend = dragEnd; | 27 dragMe.ondragend = dragEnd; |
| 28 | 28 |
| 29 dropTarget.ondragenter = dragEntered; | 29 dropTarget.ondragenter = dragEntered; |
| 30 dropTarget.ondragover = dragOver; | 30 dropTarget.ondragover = dragOver; |
| 31 dropTarget.ondrop = drop; | 31 dropTarget.ondrop = drop; |
| 32 | 32 |
| 33 runTest(); | 33 runTest(); |
| 34 } | 34 } |
| 35 | 35 |
| 36 function dragStart(e) | 36 function dragStart(e) |
| 37 { | 37 { |
| 38 var validEffectAllowedList = ["all", "copy", "copyLink", "copyMove", "li
nk", "linkMove", "move", "none", "uninitialized"]; | 38 var validEffectAllowedList = ["all", "copy", "copyLink", "copyMove", "li
nk", "linkMove", "move", "none", "uninitialized"]; |
| 39 var effectAllowedListToTest = ["all", "copy", "bogus", "copyLink", "wron
g", "copyMove", "linkCopyMove", "link", | 39 var effectAllowedListToTest = ["all", "copy", "bogus", "copyLink", "wron
g", "copyMove", "linkCopyMove", "link", |
| 40 "linkMove", "move", "none", "uninitialized", "dummy", "bogus", "fake
", "illegal"]; | 40 "linkMove", "move", "none", "uninitialized", "dummy", "bogus", "fake
", "illegal", null, undefined , ""]; |
| 41 | 41 |
| 42 event = e; | 42 event = e; |
| 43 | 43 |
| 44 for (var i = 0; i < effectAllowedListToTest.length; i++) { | 44 for (var i = 0; i < effectAllowedListToTest.length; i++) { |
| 45 var effectAllowedBefore = e.dataTransfer.effectAllowed; | 45 var effectAllowedBefore = e.dataTransfer.effectAllowed; |
| 46 e.dataTransfer.effectAllowed = effectAllowedListToTest[i]; | 46 e.dataTransfer.effectAllowed = effectAllowedListToTest[i]; |
| 47 if (validEffectAllowedList.indexOf(effectAllowedListToTest[i]) != -1
) | 47 if (validEffectAllowedList.indexOf(effectAllowedListToTest[i]) != -1
) |
| 48 shouldBeEqualToString("event.dataTransfer.effectAllowed", effect
AllowedListToTest[i]); | 48 shouldBeEqualToString("event.dataTransfer.effectAllowed", effect
AllowedListToTest[i]); |
| 49 else | 49 else |
| 50 shouldBeEqualToString("event.dataTransfer.effectAllowed", effect
AllowedBefore); | 50 shouldBeEqualToString("event.dataTransfer.effectAllowed", effect
AllowedBefore); |
| 51 } | 51 } |
| 52 | 52 |
| 53 e.dataTransfer.setData('Text', e.target.textContent); | 53 e.dataTransfer.setData('Text', e.target.textContent); |
| 54 } | 54 } |
| 55 | 55 |
| 56 function dragEnd(e) | 56 function dragEnd(e) |
| 57 { | 57 { |
| 58 return; | 58 return; |
| 59 } | 59 } |
| 60 | 60 |
| 61 function dragEntered(e) | 61 function dragEntered(e) |
| 62 { | 62 { |
| 63 dragEnteredAndUpdated(e); | 63 dragEnteredAndUpdated(e); |
| 64 } | 64 } |
| 65 | 65 |
| 66 function dragOver(e) | 66 function dragOver(e) |
| 67 { | 67 { |
| 68 dragEnteredAndUpdated(e); | 68 dragEnteredAndUpdated(e); |
| 69 } | 69 } |
| 70 | 70 |
| 71 function dragEnteredAndUpdated(e) | 71 function dragEnteredAndUpdated(e) |
| 72 { | 72 { |
| 73 var validDropEffectList = ["none", "copy", "link", "move", "link"]; | 73 var validDropEffectList = ["none", "copy", "link", "move", "link"]; |
| 74 var dropEffectListToTest = ["all", "copy", "bogus", "copyLink", "wrong",
"copyMove", "linkCopyMove", "link", | 74 var dropEffectListToTest = ["all", "copy", "bogus", "copyLink", "wrong",
"copyMove", "linkCopyMove", "link", |
| 75 "linkMove", "move", "none", "uninitialized", "dummy", "bogus", "fake
", "illegal"]; | 75 "linkMove", "move", "none", "uninitialized", "dummy", "bogus", "fake
", "illegal", null, undefined , ""]; |
| 76 | 76 |
| 77 event = e; | 77 event = e; |
| 78 | 78 |
| 79 for (var i = 0; i < dropEffectListToTest.length; i++) { | 79 for (var i = 0; i < dropEffectListToTest.length; i++) { |
| 80 var dropEffectBefore = e.dataTransfer.dropEffect; | 80 var dropEffectBefore = e.dataTransfer.dropEffect; |
| 81 e.dataTransfer.dropEffect = dropEffectListToTest[i]; | 81 e.dataTransfer.dropEffect = dropEffectListToTest[i]; |
| 82 | 82 |
| 83 if (validDropEffectList.indexOf(dropEffectListToTest[i]) != -1) | 83 if (validDropEffectList.indexOf(dropEffectListToTest[i]) != -1) |
| 84 shouldBeEqualToString("event.dataTransfer.dropEffect", dropEffec
tListToTest[i]); | 84 shouldBeEqualToString("event.dataTransfer.dropEffect", dropEffec
tListToTest[i]); |
| 85 else | 85 else |
| 86 shouldBeEqualToString("event.dataTransfer.dropEffect", dropEffec
tBefore); | 86 shouldBeEqualToString("event.dataTransfer.dropEffect", dropEffec
tBefore); |
| 87 | 87 |
| 88 } | 88 } |
| 89 | 89 |
| 90 cancelDrag(e); | 90 cancelDrag(e); |
| 91 } | 91 } |
| 92 | 92 |
| 93 function drop(e) | 93 function drop(e) |
| 94 { | 94 { |
| 95 cancelDrag(e); | 95 cancelDrag(e); |
| 96 } | 96 } |
| 97 | 97 |
| 98 function cancelDrag(e) | 98 function cancelDrag(e) |
| 99 { | 99 { |
| 100 e.preventDefault(); | 100 e.preventDefault(); |
| 101 } | 101 } |
| 102 | 102 |
| 103 function runTest() | 103 function runTest() |
| 104 { | 104 { |
| 105 if (!window.eventSender) | 105 if (!window.eventSender) |
| 106 return; | 106 return; |
| 107 | 107 |
| 108 if (window.testRunner) | 108 if (window.testRunner) |
| 109 testRunner.dumpAsText(); | 109 testRunner.dumpAsText(); |
| 110 | 110 |
| 111 var startX = dragMe.offsetLeft + 10; | 111 var startX = dragMe.offsetLeft + 10; |
| 112 var startY = dragMe.offsetTop + dragMe.offsetHeight / 2; | 112 var startY = dragMe.offsetTop + dragMe.offsetHeight / 2; |
| 113 var endX = dropTarget.offsetLeft + 10; | 113 var endX = dropTarget.offsetLeft + 10; |
| 114 var endY = dropTarget.offsetTop + dropTarget.offsetHeight / 2; | 114 var endY = dropTarget.offsetTop + dropTarget.offsetHeight / 2; |
| 115 | 115 |
| 116 eventSender.mouseMoveTo(startX, startY); | 116 eventSender.mouseMoveTo(startX, startY); |
| 117 eventSender.mouseDown(); | 117 eventSender.mouseDown(); |
| 118 eventSender.leapForward(100); | 118 eventSender.leapForward(100); |
| 119 eventSender.mouseMoveTo(endX, endY); | 119 eventSender.mouseMoveTo(endX, endY); |
| 120 eventSender.mouseUp(); | 120 eventSender.mouseUp(); |
| 121 | 121 |
| 122 var testContainer = document.getElementById("test-container"); | 122 var testContainer = document.getElementById("test-container"); |
| 123 if (testContainer) | 123 if (testContainer) |
| 124 document.body.removeChild(testContainer); | 124 document.body.removeChild(testContainer); |
| 125 debug('<br /><span class="pass">TEST COMPLETE</span>'); | 125 debug('<br /><span class="pass">TEST COMPLETE</span>'); |
| 126 } | 126 } |
| 127 </script> | 127 </script> |
| 128 </head> | 128 </head> |
| 129 <body> | 129 <body> |
| 130 <p id="description"></p> | 130 <p id="description"></p> |
| 131 <div id="test-container"> | 131 <div id="test-container"> |
| 132 <br/><br/> | 132 <br/><br/> |
| 133 <div id="dropTarget">Drop the red square onto me.<br/><br/></div> | 133 <div id="dropTarget">Drop the red square onto me.<br/><br/></div> |
| 134 <hr/> | 134 <hr/> |
| 135 <p>Items that can be dragged to the drop target:</p> | 135 <p>Items that can be dragged to the drop target:</p> |
| 136 <div id="dragMe" draggable="true">Square</div> | 136 <div id="dragMe" draggable="true">Square</div> |
| 137 <hr/> | 137 <hr/> |
| 138 </div> | 138 </div> |
| 139 <div id="console"></div> | 139 <div id="console"></div> |
| 140 <script> | 140 <script> |
| 141 description("This test checks that effectAllowed and dropEffect cannot b
e set to values that aren't defined in the spec"); | 141 description("This test checks that effectAllowed and dropEffect cannot b
e set to values that aren't defined in the spec"); |
| 142 </script> | 142 </script> |
| 143 </body> | 143 </body> |
| 144 </html> | 144 </html> |
| OLD | NEW |