toolkit/components/contentprefs/tests/unit_cps2/test_observers.js

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

Integrate suggestion from review to improve consistency with existing code.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
     3  * You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 function run_test() {
     6   runAsyncTests(tests);
     7 }
     9 let tests = [
    11   function observerForName_set() {
    12     yield set("a.com", "foo", 1);
    13     let args = yield on("Set", ["foo", null, "bar"]);
    14     observerArgsOK(args.foo, [["a.com", "foo", 1]]);
    15     observerArgsOK(args.null, [["a.com", "foo", 1]]);
    16     observerArgsOK(args.bar, []);
    18     yield setGlobal("foo", 2);
    19     args = yield on("Set", ["foo", null, "bar"]);
    20     observerArgsOK(args.foo, [[null, "foo", 2]]);
    21     observerArgsOK(args.null, [[null, "foo", 2]]);
    22     observerArgsOK(args.bar, []);
    23   },
    25   function observerForName_remove() {
    26     yield set("a.com", "foo", 1);
    27     yield setGlobal("foo", 2);
    29     yield cps.removeByDomainAndName("a.com", "bogus", null, makeCallback());
    30     let args = yield on("Removed", ["foo", null, "bar"]);
    31     observerArgsOK(args.foo, []);
    32     observerArgsOK(args.null, []);
    33     observerArgsOK(args.bar, []);
    35     yield cps.removeByDomainAndName("a.com", "foo", null, makeCallback());
    36     args = yield on("Removed", ["foo", null, "bar"]);
    37     observerArgsOK(args.foo, [["a.com", "foo"]]);
    38     observerArgsOK(args.null, [["a.com", "foo"]]);
    39     observerArgsOK(args.bar, []);
    41     yield cps.removeGlobal("foo", null, makeCallback());
    42     args = yield on("Removed", ["foo", null, "bar"]);
    43     observerArgsOK(args.foo, [[null, "foo"]]);
    44     observerArgsOK(args.null, [[null, "foo"]]);
    45     observerArgsOK(args.bar, []);
    46   },
    48   function observerForName_removeByDomain() {
    49     yield set("a.com", "foo", 1);
    50     yield set("b.a.com", "bar", 2);
    51     yield setGlobal("foo", 3);
    53     yield cps.removeByDomain("bogus", null, makeCallback());
    54     let args = yield on("Removed", ["foo", null, "bar"]);
    55     observerArgsOK(args.foo, []);
    56     observerArgsOK(args.null, []);
    57     observerArgsOK(args.bar, []);
    59     yield cps.removeBySubdomain("a.com", null, makeCallback());
    60     args = yield on("Removed", ["foo", null, "bar"]);
    61     observerArgsOK(args.foo, [["a.com", "foo"]]);
    62     observerArgsOK(args.null, [["a.com", "foo"], ["b.a.com", "bar"]]);
    63     observerArgsOK(args.bar, [["b.a.com", "bar"]]);
    65     yield cps.removeAllGlobals(null, makeCallback());
    66     args = yield on("Removed", ["foo", null, "bar"]);
    67     observerArgsOK(args.foo, [[null, "foo"]]);
    68     observerArgsOK(args.null, [[null, "foo"]]);
    69     observerArgsOK(args.bar, []);
    70   },
    72   function observerForName_removeAllDomains() {
    73     yield set("a.com", "foo", 1);
    74     yield setGlobal("foo", 2);
    75     yield set("b.com", "bar", 3);
    77     yield cps.removeAllDomains(null, makeCallback());
    78     let args = yield on("Removed", ["foo", null, "bar"]);
    79     observerArgsOK(args.foo, [["a.com", "foo"]]);
    80     observerArgsOK(args.null, [["a.com", "foo"], ["b.com", "bar"]]);
    81     observerArgsOK(args.bar, [["b.com", "bar"]]);
    82   },
    84   function observerForName_removeByName() {
    85     yield set("a.com", "foo", 1);
    86     yield set("a.com", "bar", 2);
    87     yield setGlobal("foo", 3);
    89     yield cps.removeByName("bogus", null, makeCallback());
    90     let args = yield on("Removed", ["foo", null, "bar"]);
    91     observerArgsOK(args.foo, []);
    92     observerArgsOK(args.null, []);
    93     observerArgsOK(args.bar, []);
    95     yield cps.removeByName("foo", null, makeCallback());
    96     args = yield on("Removed", ["foo", null, "bar"]);
    97     observerArgsOK(args.foo, [["a.com", "foo"], [null, "foo"]]);
    98     observerArgsOK(args.null, [["a.com", "foo"], [null, "foo"]]);
    99     observerArgsOK(args.bar, []);
   100   },
   102   function removeObserverForName() {
   103     let args = yield on("Set", ["foo", null, "bar"], true);
   105     cps.removeObserverForName("foo", args.foo.observer);
   106     yield set("a.com", "foo", 1);
   107     yield wait();
   108     observerArgsOK(args.foo, []);
   109     observerArgsOK(args.null, [["a.com", "foo", 1]]);
   110     observerArgsOK(args.bar, []);
   111     args.reset();
   113     cps.removeObserverForName(null, args.null.observer);
   114     yield set("a.com", "foo", 2);
   115     yield wait();
   116     observerArgsOK(args.foo, []);
   117     observerArgsOK(args.null, []);
   118     observerArgsOK(args.bar, []);
   119     args.reset();
   120   },
   121 ];

mercurial