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

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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);

mercurial