test_submit_invalid_file.html (1844B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=702949 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test invalid file submission</title> 9 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/> 11 </head> 12 <body> 13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=702949">Mozilla Bug 702949</a> 14 <p id="display"></p> 15 <div id="content" style="display: none"> 16 <form action='http://mochi.test:8888/chrome/dom/html/test/forms/submit_invalid_file.sjs' method='post' target='result' 17 enctype='multipart/form-data'> 18 <input type='file' name='file'> 19 </form> 20 <iframe name='result'></iframe> 21 </div> 22 <pre id="test"> 23 </pre> 24 <script type="application/javascript"> 25 /* 26 * Test invalid file submission by submitting a file that has been deleted 27 * from the file system before the form has been submitted. 28 * The form submission triggers a sjs file that shows its output in a frame. 29 * That means the test might time out if it fails. 30 */ 31 32 SimpleTest.waitForExplicitFinish(); 33 addLoadEvent(function() { 34 var { FileUtils } = SpecialPowers.ChromeUtils.importESModule( 35 "resource://gre/modules/FileUtils.sys.mjs" 36 ); 37 38 var i = document.getElementsByTagName('input')[0]; 39 40 var file = FileUtils.getDir("TmpD", []); 41 file.append("testfile"); 42 file.createUnique(SpecialPowers.Ci.nsIFile.NORMAL_FILE_TYPE, 0o644); 43 44 SpecialPowers.wrap(i).value = file.path; 45 file.remove(/* recursive = */ false); 46 47 document.getElementsByName('result')[0].addEventListener('load', function() { 48 is(window.frames[0].document.body.textContent, "SUCCESS"); 49 SimpleTest.finish(); 50 }); 51 document.forms[0].submit(); 52 }); 53 </script> 54 </body> 55 </html>