toolkit/mozapps/extensions/test/xpcshell/test_bug619730.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 // Tests whether
     6 const Cc = Components.classes;
     7 const Ci = Components.interfaces;
     8 const Cu = Components.utils;
    10 Cu.import("resource://testing-common/httpd.js");
    12 var gTestserver = new HttpServer();
    13 gTestserver.start(-1);
    14 gPort = gTestserver.identity.primaryPort;
    15 mapFile("/data/test_bug619730.xml", gTestserver);
    17 function load_blocklist(file, aCallback) {
    18   Services.obs.addObserver(function() {
    19     Services.obs.removeObserver(arguments.callee, "blocklist-updated");
    21     do_execute_soon(aCallback);
    22   }, "blocklist-updated", false);
    24   Services.prefs.setCharPref("extensions.blocklist.url", "http://localhost:" +
    25                              gPort + "/data/" + file);
    26   var blocklist = Cc["@mozilla.org/extensions/blocklist;1"].
    27                   getService(Ci.nsITimerCallback);
    28   blocklist.notify(null);
    29 }
    31 var gSawGFX = false;
    32 var gSawTest = false;
    34 // Performs the initial setup
    35 function run_test() {
    36   createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "3", "8");
    37   startupManager();
    39   do_test_pending();
    41   Services.obs.addObserver(function(aSubject, aTopic, aData) {
    42     do_check_true(aSubject instanceof AM_Ci.nsIDOMElement);
    43     do_check_eq(aSubject.getAttribute("testattr"), "GFX");
    44     do_check_eq(aSubject.childNodes.length, 2);
    45     gSawGFX = true;
    46   }, "blocklist-data-gfxItems", false);
    48   Services.obs.addObserver(function(aSubject, aTopic, aData) {
    49     do_check_true(aSubject instanceof AM_Ci.nsIDOMElement);
    50     do_check_eq(aSubject.getAttribute("testattr"), "FOO");
    51     do_check_eq(aSubject.childNodes.length, 3);
    52     gSawTest = true;
    53   }, "blocklist-data-testItems", false);
    55   Services.obs.addObserver(function(aSubject, aTopic, aData) {
    56     do_check_true(gSawGFX);
    57     do_check_true(gSawTest);
    58   }, "blocklist-data-fooItems", false);
    60   // Need to wait for the blocklist to load; Bad Things happen if the test harness
    61   // shuts down AddonManager before the blocklist service is done telling it about
    62   // changes
    63   load_blocklist("test_bug619730.xml", () => gTestserver.stop(do_test_finished));
    64 }

mercurial