toolkit/components/jsdownloads/test/unit/test_DownloadCore.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:c8c69118671e
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/ */
5
6 /**
7 * Tests the main download interfaces using DownloadCopySaver.
8 */
9
10 "use strict";
11
12 XPCOMUtils.defineLazyModuleGetter(this, "DownloadError",
13 "resource://gre/modules/DownloadCore.jsm");
14
15 ////////////////////////////////////////////////////////////////////////////////
16 //// Execution of common tests
17
18 let gUseLegacySaver = false;
19
20 let scriptFile = do_get_file("common_test_Download.js");
21 Services.scriptloader.loadSubScript(NetUtil.newURI(scriptFile).spec);
22
23 ////////////////////////////////////////////////////////////////////////////////
24 //// Tests
25
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);
39
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.");
43
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);
47
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);
54
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);
62
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);
67
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);
75
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);
82
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 });
90
91 ////////////////////////////////////////////////////////////////////////////////
92 //// Termination
93
94 let tailFile = do_get_file("tail.js");
95 Services.scriptloader.loadSubScript(NetUtil.newURI(tailFile).spec);

mercurial