test_bug263127.js (1209B)
1 "use strict"; 2 3 const { HttpServer } = ChromeUtils.importESModule( 4 "resource://testing-common/httpd.sys.mjs" 5 ); 6 7 var server; 8 const BUGID = "263127"; 9 10 var listener = { 11 QueryInterface: ChromeUtils.generateQI(["nsIDownloadObserver"]), 12 13 onDownloadComplete(downloader, request, status, file) { 14 do_test_pending(); 15 server.stop(do_test_finished); 16 17 if (!file) { 18 do_throw("Download failed"); 19 } 20 21 try { 22 file.remove(false); 23 } catch (e) { 24 do_throw(e); 25 } 26 27 Assert.ok(!file.exists()); 28 29 do_test_finished(); 30 }, 31 }; 32 33 function run_test() { 34 // start server 35 server = new HttpServer(); 36 server.start(-1); 37 38 // Initialize downloader 39 var channel = NetUtil.newChannel({ 40 uri: "http://localhost:" + server.identity.primaryPort + "/", 41 loadUsingSystemPrincipal: true, 42 }); 43 var targetFile = Services.dirsvc.get("TmpD", Ci.nsIFile); 44 targetFile.append("bug" + BUGID + ".test"); 45 if (targetFile.exists()) { 46 targetFile.remove(false); 47 } 48 49 var downloader = Cc["@mozilla.org/network/downloader;1"].createInstance( 50 Ci.nsIDownloader 51 ); 52 downloader.init(listener, targetFile); 53 54 // Start download 55 channel.asyncOpen(downloader); 56 57 do_test_pending(); 58 }