diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /toolkit/components/jsdownloads/test/unit/test_DownloadCore.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'toolkit/components/jsdownloads/test/unit/test_DownloadCore.js')
-rw-r--r-- | toolkit/components/jsdownloads/test/unit/test_DownloadCore.js | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/toolkit/components/jsdownloads/test/unit/test_DownloadCore.js b/toolkit/components/jsdownloads/test/unit/test_DownloadCore.js new file mode 100644 index 000000000..6e32c63d3 --- /dev/null +++ b/toolkit/components/jsdownloads/test/unit/test_DownloadCore.js @@ -0,0 +1,87 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests the main download interfaces using DownloadCopySaver. + */ + +"use strict"; + +XPCOMUtils.defineLazyModuleGetter(this, "DownloadError", + "resource://gre/modules/DownloadCore.jsm"); + +// Execution of common tests + +var gUseLegacySaver = false; + +var scriptFile = do_get_file("common_test_Download.js"); +Services.scriptloader.loadSubScript(NetUtil.newURI(scriptFile).spec); + +// Tests + +/** + * Tests the DownloadError object. + */ +add_task(function test_DownloadError() +{ + let error = new DownloadError({ result: Cr.NS_ERROR_NOT_RESUMABLE, + message: "Not resumable."}); + do_check_eq(error.result, Cr.NS_ERROR_NOT_RESUMABLE); + do_check_eq(error.message, "Not resumable."); + do_check_false(error.becauseSourceFailed); + do_check_false(error.becauseTargetFailed); + do_check_false(error.becauseBlocked); + do_check_false(error.becauseBlockedByParentalControls); + + error = new DownloadError({ message: "Unknown error."}); + do_check_eq(error.result, Cr.NS_ERROR_FAILURE); + do_check_eq(error.message, "Unknown error."); + + error = new DownloadError({ result: Cr.NS_ERROR_NOT_RESUMABLE }); + do_check_eq(error.result, Cr.NS_ERROR_NOT_RESUMABLE); + do_check_true(error.message.indexOf("Exception") > 0); + + // becauseSourceFailed will be set, but not the unknown property. + error = new DownloadError({ message: "Unknown error.", + becauseSourceFailed: true, + becauseUnknown: true }); + do_check_true(error.becauseSourceFailed); + do_check_false("becauseUnknown" in error); + + error = new DownloadError({ result: Cr.NS_ERROR_MALFORMED_URI, + inferCause: true }); + do_check_eq(error.result, Cr.NS_ERROR_MALFORMED_URI); + do_check_true(error.becauseSourceFailed); + do_check_false(error.becauseTargetFailed); + do_check_false(error.becauseBlocked); + do_check_false(error.becauseBlockedByParentalControls); + + // This test does not set inferCause, so becauseSourceFailed will not be set. + error = new DownloadError({ result: Cr.NS_ERROR_MALFORMED_URI }); + do_check_eq(error.result, Cr.NS_ERROR_MALFORMED_URI); + do_check_false(error.becauseSourceFailed); + + error = new DownloadError({ result: Cr.NS_ERROR_FILE_INVALID_PATH, + inferCause: true }); + do_check_eq(error.result, Cr.NS_ERROR_FILE_INVALID_PATH); + do_check_false(error.becauseSourceFailed); + do_check_true(error.becauseTargetFailed); + do_check_false(error.becauseBlocked); + do_check_false(error.becauseBlockedByParentalControls); + + error = new DownloadError({ becauseBlocked: true }); + do_check_eq(error.message, "Download blocked."); + do_check_false(error.becauseSourceFailed); + do_check_false(error.becauseTargetFailed); + do_check_true(error.becauseBlocked); + do_check_false(error.becauseBlockedByParentalControls); + + error = new DownloadError({ becauseBlockedByParentalControls: true }); + do_check_eq(error.message, "Download blocked."); + do_check_false(error.becauseSourceFailed); + do_check_false(error.becauseTargetFailed); + do_check_true(error.becauseBlocked); + do_check_true(error.becauseBlockedByParentalControls); +}); |