test_no_dnd.html (2046B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test for Blink FileSystem API - no DND == no webkitEntries</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 7 </head> 8 9 <body> 10 <script type="application/javascript"> 11 var fileEntry; 12 var directoryEntry; 13 var script; 14 var entries; 15 16 function setup_tests() { 17 SpecialPowers.pushPrefEnv({"set": [["dom.webkitBlink.dirPicker.enabled", true], 18 ["dom.filesystem.pathcheck.disabled", true], 19 ["dom.webkitBlink.filesystem.enabled", true]]}, next); 20 } 21 22 function populate_entries() { 23 entries = document.createElement("input"); 24 entries.setAttribute("type", "file"); 25 document.body.appendChild(entries); 26 27 var url = SimpleTest.getTestFileURL("script_entries.js"); 28 script = SpecialPowers.loadChromeScript(url); 29 30 function onOpened(message) { 31 for (var i = 0 ; i < message.data.length; ++i) { 32 if (message.data[i] instanceof File) { 33 SpecialPowers.wrap(entries).mozSetFileArray([message.data[i]]); 34 next(); 35 } 36 } 37 } 38 39 script.addMessageListener("entries.opened", onOpened); 40 script.sendAsyncMessage("entries.open"); 41 } 42 43 function test_entries() { 44 ok("webkitEntries" in entries, "HTMLInputElement.webkitEntries"); 45 is(entries.webkitEntries.length, 0, "HTMLInputElement.webkitEntries.length == 0"); 46 is(entries.files.length, 1, "HTMLInputElement.files is still populated"); 47 48 next(); 49 } 50 51 function cleanUpTestingFiles() { 52 script.addMessageListener("entries.deleted", function onDeleted() { 53 script.removeMessageListener("entries.deleted"); 54 script.destroy(); 55 next(); 56 }); 57 58 script.sendAsyncMessage("entries.delete"); 59 } 60 61 var tests = [ 62 setup_tests, 63 populate_entries, 64 65 test_entries, 66 67 cleanUpTestingFiles, 68 ]; 69 70 function next() { 71 if (!tests.length) { 72 SimpleTest.finish(); 73 return; 74 } 75 76 var test = tests.shift(); 77 test(); 78 } 79 80 SimpleTest.waitForExplicitFinish(); 81 next(); 82 </script> 83 </body> 84 </html>