diff options
Diffstat (limited to 'data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-download.js')
-rw-r--r-- | data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-download.js | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-download.js b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-download.js new file mode 100644 index 0000000..30b4b69 --- /dev/null +++ b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/test/test-download.js @@ -0,0 +1,58 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +'use strict'; + +const { Ci, Cc, Cu } = require('chrome'); +const { pathFor } = require("sdk/system"); +const { Loader } = require("sdk/test/loader"); +const { Request } = require('sdk/request'); +const options = require("@test/options"); + +const { Download } = require('pathfinder/download'); + +const { Services } = require('pathfinder/chrome/services'); + +exports.testDownload = function(assert, done) { + const loader = Loader(module); + const httpd = loader.require('sdk/test/httpd'); + + let serverPort = 8057; + let server = httpd.startServerAsync(serverPort); + const contents = "testDownload"; + + server.registerPathHandler("/test.txt", function handle(request, response) { + response.write(contents); + }); + + let file = Services.dirsvc.get("ProfD", Ci.nsIFile); + file.append("test.txt"); + + assert.ok(!file.exists(), 'Download does not exist yet'); + + let download = Download({ + url: "http://localhost:" + serverPort + "/test.txt", + destination: file.path, + onComplete: function() { + assert.ok(file.exists(), 'Download was successful'); + + Request({ + url: Services.io.newFileURI(file).spec, + overrideMimeType: "text/plain; charset=latin1", + onComplete: function ({ text }) { + assert.equal(text, contents, 'the file content is correct'); + file.remove(false); + assert.ok(!file.exists(), 'File was removed'); + + server.stop(function() { + loader.unload(); + done(); + }); + } + }).get(); + } + }); + assert.ok(!!download, 'Download started'); +} + +require('sdk/test').run(exports); |