test_input_files_not_nsIFile.html (1294B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test for <input type='file'> handling when its "files" do not implement nsIFile</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <script src="/tests/SimpleTest/EventUtils.js"></script> 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 8 </head> 9 <body> 10 11 <div id="content"> 12 <input id='a' type='file'> 13 </div> 14 <button id='b' onclick="document.getElementById('a').click();">Show Filepicker</button> 15 16 <input type="file" id="file" /> 17 <pre id="test"> 18 <script type="application/javascript"> 19 20 SimpleTest.waitForExplicitFinish(); 21 22 var MockFilePicker = SpecialPowers.MockFilePicker; 23 MockFilePicker.init(SpecialPowers.wrap(window).browsingContext); 24 25 SimpleTest.waitForFocus(function() { 26 MockFilePicker.useBlobFile(); 27 MockFilePicker.returnValue = MockFilePicker.returnOK; 28 29 var b = document.getElementById('b'); 30 b.focus(); // Be sure the element is visible. 31 32 document.getElementById('a').addEventListener("change", function(aEvent) { 33 ok(true, "change event correctly sent"); 34 35 SimpleTest.executeSoon(function() { 36 MockFilePicker.cleanup(); 37 SimpleTest.finish(); 38 }); 39 }); 40 41 SpecialPowers.wrap(document).notifyUserGestureActivation(); 42 b.click(); 43 }); 44 45 </script> 46 </pre> 47 </body> 48 </html>