055.html (1877B)
1 <!doctype html> 2 <html> 3 <head> 4 <title>text/uri-list conversion</title> 5 <style type="text/css"> 6 div { height: 100px; width: 100px; background: orange; } 7 </style> 8 <script type="text/javascript"> 9 window.onload = function () { 10 var drag = document.getElementsByTagName('div')[0], fails = []; 11 drag.ondragstart = function (e) { 12 e.dataTransfer.setData('url','http://example.com/'); 13 if( !e.dataTransfer.getData('url') ) { 14 document.getElementsByTagName('p')[0].innerHTML = "FAIL - getData('url') returned nothing"; 15 } else if( e.dataTransfer.getData('url') != e.dataTransfer.getData('text/uri-list') ) { 16 document.getElementsByTagName('p')[0].innerHTML = 'FAIL - text/uri-list is not the same as url'; 17 } else { 18 19 e.dataTransfer.setData('url','#foo\r\n http://example.com/#bar \r\n http://example.org/'); 20 if( e.dataTransfer.getData('url') != 'http://example.com/#bar' ) { 21 document.getElementsByTagName('p')[0].innerHTML = 'FAIL - only the first URL should be returned - "'+e.dataTransfer.getData('url')+'"'; 22 } else if( e.dataTransfer.getData('text/uri-list') != '#foo\r\n http://example.com/#bar \r\n http://example.org/' ) { 23 document.getElementsByTagName('p')[0].innerHTML = 'FAIL - text/uri-list should return the full data'; 24 } else { 25 26 e.dataTransfer.setData('url',' '); 27 if( e.dataTransfer.getData('url') ) { 28 document.getElementsByTagName('p')[0].innerHTML = 'FAIL - space was not a valid URL so an empty string should have been returned'; 29 } else { 30 document.getElementsByTagName('p')[0].innerHTML = 'PASS'; 31 } 32 33 } 34 35 } 36 e.preventDefault(); 37 }; 38 }; 39 </script> 40 </head> 41 <body> 42 <div draggable="true"></div> 43 <p>Attempt to drag the orange square.</p> 44 <noscript><p>Enable JavaScript and reload</p></noscript> 45 </body> 46 </html>