summaryrefslogtreecommitdiffstats
path: root/toolkit/components/jsdownloads/test/unit/test_DownloadCore.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /toolkit/components/jsdownloads/test/unit/test_DownloadCore.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-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.js87
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);
+});