From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../jsdownloads/test/unit/test_DownloadCore.js | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 toolkit/components/jsdownloads/test/unit/test_DownloadCore.js (limited to 'toolkit/components/jsdownloads/test/unit/test_DownloadCore.js') 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); +}); -- cgit v1.2.3