| <!doctype html> |
| <html> |
| <head> |
| <title>Selection dragging should drag no HTML when inside a single element</title> |
| <style type="text/css"> |
| p + div { |
| background: orange; |
| width: 4em; |
| } |
| div + div { |
| border: 1px solid black; |
| min-height: 5em; |
| } |
| </style> |
| <script type="text/javascript"> |
| window.onload = function () { |
| var output = document.getElementsByTagName('div')[1]; |
| output.ondragenter = output.ondragover = function (e) { e.preventDefault(); }; |
| output.ondrop = function (e) { |
| e.preventDefault(); |
| var drophtml = e.dataTransfer.getData('text/html').toUpperCase().replace(/\sSTYLE="[^"]*"/g,'').replace(/[\r\n]+/g,'\\n'); |
| var droptext = e.dataTransfer.getData('text/plain').replace(/[\r\n]+/g,'\\n'); |
| var expectedhtml = 'B'; |
| var expectedtext = 'B'; |
| if( drophtml != expectedhtml ) { |
| output.innerHTML = 'FAIL - normalised dropped HTML was:<br>'+drophtml.replace(/</g,'<'); |
| } else if( droptext != expectedtext ) { |
| output.innerHTML = 'FAIL - normalised dropped text was:<br>'+droptext.replace(/</g,'<'); |
| } else { |
| output.innerHTML = 'PASS'; |
| } |
| }; |
| }; |
| </script> |
| </head> |
| <body> |
| |
| <p>Select "B" in the text below.</p> |
| <div> |
| <p>ABC</p> |
| </div> |
| <div>Drag the selection and drop it here.</div> |
| |
| </body> |
| </html> |