toolkit/mozapps/extensions/test/xpcshell/test_bug566626.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 /* Any copyright is dedicated to the Public Domain.
     2  * http://creativecommons.org/publicdomain/zero/1.0/
     3  */
     5 // This verifies that multiple calls to the async API return fully formed
     6 // add-ons
     8 var addon1 = {
     9   id: "addon1@tests.mozilla.org",
    10   version: "1.0",
    11   name: "Test 1",
    12   targetApplications: [{
    13     id: "xpcshell@tests.mozilla.org",
    14     minVersion: "1",
    15     maxVersion: "1"
    16   }]
    17 };
    19 const profileDir = gProfD.clone();
    20 profileDir.append("extensions");
    22 var gAddon;
    24 // Sets up the profile by installing an add-on.
    25 function run_test() {
    26   do_test_pending();
    28   createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
    30   writeInstallRDFForExtension(addon1, profileDir);
    32   startupManager();
    34   run_test_1();
    35 }
    37 // Verifies that multiple calls to get an add-on at various stages of execution
    38 // return an add-on with a valid name.
    39 function run_test_1() {
    40   var count = 0;
    42   AddonManager.getAddonByID("addon1@tests.mozilla.org", function(a1) {
    43     do_check_neq(a1, null);
    44     do_check_eq(a1.name, "Test 1");
    46     if (count == 0)
    47       gAddon = a1;
    48     else
    49       do_check_eq(a1, gAddon);
    50     count++;
    51     if (count == 4)
    52       run_test_2();
    53   });
    55   AddonManager.getAddonByID("addon1@tests.mozilla.org", function(a1) {
    56     do_check_neq(a1, null);
    57     do_check_eq(a1.name, "Test 1");
    59     if (count == 0)
    60       gAddon = a1;
    61     else
    62       do_check_eq(a1, gAddon);
    63     count++;
    64     if (count == 4)
    65       run_test_2();
    66   });
    68   do_execute_soon(function() {
    69     AddonManager.getAddonByID("addon1@tests.mozilla.org", function(a1) {
    70       do_check_neq(a1, null);
    71       do_check_eq(a1.name, "Test 1");
    73       if (count == 0)
    74         gAddon = a1;
    75       else
    76         do_check_eq(a1, gAddon);
    77       count++;
    78       if (count == 4)
    79         run_test_2();
    80     });
    81   });
    83   do_execute_soon(function() {
    84     do_execute_soon(function() {
    85       AddonManager.getAddonByID("addon1@tests.mozilla.org", function(a1) {
    86         do_check_neq(a1, null);
    87         do_check_eq(a1.name, "Test 1");
    89         if (count == 0)
    90           gAddon = a1;
    91         else
    92           do_check_eq(a1, gAddon);
    93         count++;
    94         if (count == 4)
    95           run_test_2();
    96       });
    97     });
    98   });
    99 }
   101 // Verifies that a subsequent call gets the same add-on from the cache
   102 function run_test_2() {
   103   AddonManager.getAddonByID("addon1@tests.mozilla.org", function(a1) {
   104     do_check_neq(a1, null);
   105     do_check_eq(a1.name, "Test 1");
   107     do_check_eq(a1, gAddon);
   109     do_execute_soon(do_test_finished);
   110   });
   112 }

mercurial