mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
67 lines
1.6 KiB
JavaScript
67 lines
1.6 KiB
JavaScript
const Cc = Components.classes;
|
|
const Ci = Components.interfaces;
|
|
const Cu = Components.utils;
|
|
const Cr = Components.results;
|
|
|
|
Cu.import("resource://testing-common/httpd.js");
|
|
|
|
var server;
|
|
const BUGID = "263127";
|
|
|
|
var listener = {
|
|
QueryInterface: function(iid) {
|
|
if (!iid.equals(nsIDownloadObserver) &&
|
|
!iid.equals(nsISupports))
|
|
throw Components.results.NS_ERROR_NO_INTERFACE;
|
|
|
|
return this;
|
|
},
|
|
|
|
onDownloadComplete: function(downloader, request, ctxt, status, file) {
|
|
do_test_pending();
|
|
server.stop(do_test_finished);
|
|
|
|
if (!file)
|
|
do_throw("Download failed");
|
|
|
|
try {
|
|
file.remove(false);
|
|
}
|
|
catch (e) {
|
|
do_throw(e);
|
|
}
|
|
|
|
do_check_false(file.exists());
|
|
|
|
do_test_finished();
|
|
}
|
|
}
|
|
|
|
function run_test() {
|
|
// start server
|
|
server = new HttpServer();
|
|
server.start(-1);
|
|
|
|
// Initialize downloader
|
|
var channel = Cc["@mozilla.org/network/io-service;1"]
|
|
.getService(Ci.nsIIOService)
|
|
.newChannel("http://localhost:" +
|
|
server.identity.primaryPort + "/", null, null);
|
|
|
|
var targetFile = Cc["@mozilla.org/file/directory_service;1"]
|
|
.getService(Ci.nsIProperties)
|
|
.get("TmpD", Ci.nsIFile);
|
|
targetFile.append("bug" + BUGID + ".test");
|
|
if (targetFile.exists())
|
|
targetFile.remove(false);
|
|
|
|
var downloader = Cc["@mozilla.org/network/downloader;1"]
|
|
.createInstance(Ci.nsIDownloader);
|
|
downloader.init(listener, targetFile);
|
|
|
|
// Start download
|
|
channel.asyncOpen(downloader, null);
|
|
|
|
do_test_pending();
|
|
}
|