Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* Any copyright is dedicated to the Public Domain.
4 * http://creativecommons.org/publicdomain/zero/1.0/ */
6 /**
7 * Tests the main download interfaces using DownloadCopySaver.
8 */
10 "use strict";
12 XPCOMUtils.defineLazyModuleGetter(this, "DownloadError",
13 "resource://gre/modules/DownloadCore.jsm");
15 ////////////////////////////////////////////////////////////////////////////////
16 //// Execution of common tests
18 let gUseLegacySaver = false;
20 let scriptFile = do_get_file("common_test_Download.js");
21 Services.scriptloader.loadSubScript(NetUtil.newURI(scriptFile).spec);
23 ////////////////////////////////////////////////////////////////////////////////
24 //// Tests
26 /**
27 * Tests the DownloadError object.
28 */
29 add_task(function test_DownloadError()
30 {
31 let error = new DownloadError({ result: Cr.NS_ERROR_NOT_RESUMABLE,
32 message: "Not resumable."});
33 do_check_eq(error.result, Cr.NS_ERROR_NOT_RESUMABLE);
34 do_check_eq(error.message, "Not resumable.");
35 do_check_false(error.becauseSourceFailed);
36 do_check_false(error.becauseTargetFailed);
37 do_check_false(error.becauseBlocked);
38 do_check_false(error.becauseBlockedByParentalControls);
40 error = new DownloadError({ message: "Unknown error."});
41 do_check_eq(error.result, Cr.NS_ERROR_FAILURE);
42 do_check_eq(error.message, "Unknown error.");
44 error = new DownloadError({ result: Cr.NS_ERROR_NOT_RESUMABLE });
45 do_check_eq(error.result, Cr.NS_ERROR_NOT_RESUMABLE);
46 do_check_true(error.message.indexOf("Exception") > 0);
48 // becauseSourceFailed will be set, but not the unknown property.
49 error = new DownloadError({ message: "Unknown error.",
50 becauseSourceFailed: true,
51 becauseUnknown: true });
52 do_check_true(error.becauseSourceFailed);
53 do_check_false("becauseUnknown" in error);
55 error = new DownloadError({ result: Cr.NS_ERROR_MALFORMED_URI,
56 inferCause: true });
57 do_check_eq(error.result, Cr.NS_ERROR_MALFORMED_URI);
58 do_check_true(error.becauseSourceFailed);
59 do_check_false(error.becauseTargetFailed);
60 do_check_false(error.becauseBlocked);
61 do_check_false(error.becauseBlockedByParentalControls);
63 // This test does not set inferCause, so becauseSourceFailed will not be set.
64 error = new DownloadError({ result: Cr.NS_ERROR_MALFORMED_URI });
65 do_check_eq(error.result, Cr.NS_ERROR_MALFORMED_URI);
66 do_check_false(error.becauseSourceFailed);
68 error = new DownloadError({ result: Cr.NS_ERROR_FILE_INVALID_PATH,
69 inferCause: true });
70 do_check_eq(error.result, Cr.NS_ERROR_FILE_INVALID_PATH);
71 do_check_false(error.becauseSourceFailed);
72 do_check_true(error.becauseTargetFailed);
73 do_check_false(error.becauseBlocked);
74 do_check_false(error.becauseBlockedByParentalControls);
76 error = new DownloadError({ becauseBlocked: true });
77 do_check_eq(error.message, "Download blocked.");
78 do_check_false(error.becauseSourceFailed);
79 do_check_false(error.becauseTargetFailed);
80 do_check_true(error.becauseBlocked);
81 do_check_false(error.becauseBlockedByParentalControls);
83 error = new DownloadError({ becauseBlockedByParentalControls: true });
84 do_check_eq(error.message, "Download blocked.");
85 do_check_false(error.becauseSourceFailed);
86 do_check_false(error.becauseTargetFailed);
87 do_check_true(error.becauseBlocked);
88 do_check_true(error.becauseBlockedByParentalControls);
89 });
91 ////////////////////////////////////////////////////////////////////////////////
92 //// Termination
94 let tailFile = do_get_file("tail.js");
95 Services.scriptloader.loadSubScript(NetUtil.newURI(tailFile).spec);