netwerk/test/unit/test_bug263127.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:f360a7175092
1 Cu.import("resource://testing-common/httpd.js");
2
3 var server;
4 const BUGID = "263127";
5
6 var listener = {
7 QueryInterface: function(iid) {
8 if (!iid.equals(nsIDownloadObserver) &&
9 !iid.equals(nsISupports))
10 throw Components.results.NS_ERROR_NO_INTERFACE;
11
12 return this;
13 },
14
15 onDownloadComplete: function(downloader, request, ctxt, status, file) {
16 do_test_pending();
17 server.stop(do_test_finished);
18
19 if (!file)
20 do_throw("Download failed");
21
22 try {
23 file.remove(false);
24 }
25 catch (e) {
26 do_throw(e);
27 }
28
29 do_check_false(file.exists());
30
31 do_test_finished();
32 }
33 }
34
35 function run_test() {
36 // start server
37 server = new HttpServer();
38 server.start(-1);
39
40 // Initialize downloader
41 var channel = Cc["@mozilla.org/network/io-service;1"]
42 .getService(Ci.nsIIOService)
43 .newChannel("http://localhost:" +
44 server.identity.primaryPort + "/", null, null);
45
46 var targetFile = Cc["@mozilla.org/file/directory_service;1"]
47 .getService(Ci.nsIProperties)
48 .get("TmpD", Ci.nsIFile);
49 targetFile.append("bug" + BUGID + ".test");
50 if (targetFile.exists())
51 targetFile.remove(false);
52
53 var downloader = Cc["@mozilla.org/network/downloader;1"]
54 .createInstance(Ci.nsIDownloader);
55 downloader.init(listener, targetFile);
56
57 // Start download
58 channel.asyncOpen(downloader, null);
59
60 do_test_pending();
61 }

mercurial