001-manual.html (5452B)
1 <!doctype html> 2 <html> 3 <head> 4 <title>allowTargetOrigin syntax</title> 5 <style type="text/css"> 6 blockquote { height: 100px; width: 100px; background: orange; margin: 0; padding: 0; } 7 </style> 8 <script type="text/javascript" src="/resources/testharness.js"></script> 9 <script type="text/javascript" src="/resources/testharnessreport.js"></script> 10 <script type="text/javascript"> 11 setup(function () {},{explicit_done:true}); 12 window.onload = function () { 13 document.getElementsByTagName('blockquote')[0].ondragstart = function (e) { 14 test(function() { 15 assert_true( !!e.dataTransfer.allowTargetOrigin ); 16 }, 'allowTargetOrigin should be supported' ); 17 test(function() { 18 assert_throws_js( TypeError, function () { e.dataTransfer.allowTargetOrigin(); } ); 19 }, 'no parameter should throw TypeError' ); 20 test(function() { 21 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin(''); } ); 22 }, 'empty string should be an invalid URL' ); 23 test(function() { 24 e.dataTransfer.allowTargetOrigin('*'); 25 }, '* should be a valid URL' ); 26 test(function() { 27 e.dataTransfer.allowTargetOrigin('/'); 28 }, '/ should be a valid URL' ); 29 test(function() { 30 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('/foo'); } ); 31 }, '/foo should be an invalid URL' ); 32 test(function() { 33 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('foo'); } ); 34 }, 'foo should be an invalid URL' ); 35 test(function() { 36 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('//foo'); } ); 37 }, '//foo should be an invalid URL' ); 38 test(function() { 39 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://'); } ); 40 }, 'http:// should be an invalid URL' ); 41 test(function() { 42 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://*'); } ); 43 }, 'http://* should be an invalid URL' ); 44 test(function() { 45 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo*'); } ); 46 }, 'http://foo* should be an invalid URL' ); 47 test(function() { 48 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo.*'); } ); 49 }, 'http://foo.* should be an invalid URL' ); 50 test(function() { 51 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://*.foo'); } ); 52 }, 'http://*.foo should be an invalid URL' ); 53 test(function() { 54 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo:bar'); } ); 55 }, 'http://foo:bar should be an invalid URL' ); 56 test(function() { 57 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('http://foo:bar@'); } ); 58 }, 'http://foo:bar@ should be an invalid URL' ); 59 test(function() { 60 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file:'); } ); 61 }, 'file: should be an invalid URL' ); 62 test(function() { 63 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file://'); } ); 64 }, 'file:// should be an invalid URL' ); 65 test(function() { 66 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:'); } ); 67 }, 'data: should be an invalid URL' ); 68 test(function() { 69 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:text/html'); } ); 70 }, 'data:text/html should be an invalid URL' ); 71 test(function() { 72 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file://localhost/'); } ); 73 }, 'file://localhost/ should be an invalid URL' ); 74 test(function() { 75 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('file:///'); } ); 76 }, 'file:/// should be an invalid URL' ); 77 test(function() { 78 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('data:text/html,'); } ); 79 }, 'data:text/html, should be an invalid URL' ); 80 test(function() { 81 assert_throws_dom( 'SYNTAX_ERR', function () { e.dataTransfer.allowTargetOrigin('javascript:'); } ); 82 }, 'javascript: should be an invalid URL' ); 83 test(function() { 84 e.dataTransfer.allowTargetOrigin('http://foo'); 85 }, 'http://foo should be a valid URL' ); 86 test(function() { 87 e.dataTransfer.allowTargetOrigin('http://foo.bar'); 88 }, 'http://foo.bar should be a valid URL' ); 89 test(function() { 90 e.dataTransfer.allowTargetOrigin('http://foo/bar'); 91 }, 'http://foo/bar should be a valid URL' ); 92 test(function() { 93 e.dataTransfer.allowTargetOrigin('http://foo:123'); 94 }, 'http://foo:123 should be a valid URL' ); 95 test(function() { 96 e.dataTransfer.allowTargetOrigin('http://foo:bar@baz'); 97 }, 'http://foo:bar@baz should be a valid URL' ); 98 test(function() { 99 e.dataTransfer.allowTargetOrigin('http://foo:bar@baz:123/qux'); 100 }, 'http://foo:bar@baz:123/qux should be a valid URL' ); 101 done(); 102 }; 103 }; 104 </script> 105 </head> 106 <body> 107 <blockquote draggable="true"></blockquote> 108 <div id="log">Drag the orange square above until the drag placeholder appears, then release it.</div> 109 <noscript><p>Enable JavaScript and reload</p></noscript> 110 </body> 111 </html>