toolkit/components/contentprefs/tests/unit_cps2/test_remove.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 nonexistent() {
    12     yield set("a.com", "foo", 1);
    13     yield setGlobal("foo", 2);
    15     yield cps.removeByDomainAndName("a.com", "bogus", null, makeCallback());
    16     yield dbOK([
    17       ["a.com", "foo", 1],
    18       [null, "foo", 2],
    19     ]);
    20     yield getOK(["a.com", "foo"], 1);
    21     yield getGlobalOK(["foo"], 2);
    23     yield cps.removeBySubdomainAndName("a.com", "bogus", null, makeCallback());
    24     yield dbOK([
    25       ["a.com", "foo", 1],
    26       [null, "foo", 2],
    27     ]);
    28     yield getOK(["a.com", "foo"], 1);
    29     yield getGlobalOK(["foo"], 2);
    31     yield cps.removeGlobal("bogus", null, makeCallback());
    32     yield dbOK([
    33       ["a.com", "foo", 1],
    34       [null, "foo", 2],
    35     ]);
    36     yield getOK(["a.com", "foo"], 1);
    37     yield getGlobalOK(["foo"], 2);
    39     yield cps.removeByDomainAndName("bogus", "bogus", null, makeCallback());
    40     yield dbOK([
    41       ["a.com", "foo", 1],
    42       [null, "foo", 2],
    43     ]);
    44     yield getOK(["a.com", "foo"], 1);
    45     yield getGlobalOK(["foo"], 2);
    46   },
    48   function isomorphicDomains() {
    49     yield set("a.com", "foo", 1);
    50     yield cps.removeByDomainAndName("a.com", "foo", null, makeCallback());
    51     yield dbOK([]);
    52     yield getOK(["a.com", "foo"], undefined);
    54     yield set("a.com", "foo", 2);
    55     yield cps.removeByDomainAndName("http://a.com/huh", "foo", null,
    56                                     makeCallback());
    57     yield dbOK([]);
    58     yield getOK(["a.com", "foo"], undefined);
    59   },
    61   function names() {
    62     yield set("a.com", "foo", 1);
    63     yield set("a.com", "bar", 2);
    64     yield setGlobal("foo", 3);
    65     yield setGlobal("bar", 4);
    67     yield cps.removeByDomainAndName("a.com", "foo", null, makeCallback());
    68     yield dbOK([
    69       ["a.com", "bar", 2],
    70       [null, "foo", 3],
    71       [null, "bar", 4],
    72     ]);
    73     yield getOK(["a.com", "foo"], undefined);
    74     yield getOK(["a.com", "bar"], 2);
    75     yield getGlobalOK(["foo"], 3);
    76     yield getGlobalOK(["bar"], 4);
    78     yield cps.removeGlobal("foo", null, makeCallback());
    79     yield dbOK([
    80       ["a.com", "bar", 2],
    81       [null, "bar", 4],
    82     ]);
    83     yield getOK(["a.com", "foo"], undefined);
    84     yield getOK(["a.com", "bar"], 2);
    85     yield getGlobalOK(["foo"], undefined);
    86     yield getGlobalOK(["bar"], 4);
    88     yield cps.removeByDomainAndName("a.com", "bar", null, makeCallback());
    89     yield dbOK([
    90       [null, "bar", 4],
    91     ]);
    92     yield getOK(["a.com", "foo"], undefined);
    93     yield getOK(["a.com", "bar"], undefined);
    94     yield getGlobalOK(["foo"], undefined);
    95     yield getGlobalOK(["bar"], 4);
    97     yield cps.removeGlobal("bar", null, makeCallback());
    98     yield dbOK([
    99     ]);
   100     yield getOK(["a.com", "foo"], undefined);
   101     yield getOK(["a.com", "bar"], undefined);
   102     yield getGlobalOK(["foo"], undefined);
   103     yield getGlobalOK(["bar"], undefined);
   104   },
   106   function subdomains() {
   107     yield set("a.com", "foo", 1);
   108     yield set("b.a.com", "foo", 2);
   109     yield cps.removeByDomainAndName("a.com", "foo", null, makeCallback());
   110     yield dbOK([
   111       ["b.a.com", "foo", 2],
   112     ]);
   113     yield getSubdomainsOK(["a.com", "foo"], [["b.a.com", 2]]);
   114     yield getSubdomainsOK(["b.a.com", "foo"], [["b.a.com", 2]]);
   116     yield set("a.com", "foo", 3);
   117     yield cps.removeBySubdomainAndName("a.com", "foo", null, makeCallback());
   118     yield dbOK([
   119     ]);
   120     yield getSubdomainsOK(["a.com", "foo"], []);
   121     yield getSubdomainsOK(["b.a.com", "foo"], []);
   123     yield set("a.com", "foo", 4);
   124     yield set("b.a.com", "foo", 5);
   125     yield cps.removeByDomainAndName("b.a.com", "foo", null, makeCallback());
   126     yield dbOK([
   127       ["a.com", "foo", 4],
   128     ]);
   129     yield getSubdomainsOK(["a.com", "foo"], [["a.com", 4]]);
   130     yield getSubdomainsOK(["b.a.com", "foo"], []);
   132     yield set("b.a.com", "foo", 6);
   133     yield cps.removeBySubdomainAndName("b.a.com", "foo", null, makeCallback());
   134     yield dbOK([
   135       ["a.com", "foo", 4],
   136     ]);
   137     yield getSubdomainsOK(["a.com", "foo"], [["a.com", 4]]);
   138     yield getSubdomainsOK(["b.a.com", "foo"], []);
   139   },
   141   function privateBrowsing() {
   142     yield set("a.com", "foo", 1);
   143     yield set("a.com", "bar", 2);
   144     yield setGlobal("foo", 3);
   145     yield setGlobal("bar", 4);
   146     yield setGlobal("qux", 5);
   147     yield set("b.com", "foo", 6);
   148     yield set("b.com", "bar", 7);
   150     let context = { usePrivateBrowsing: true };
   151     yield set("a.com", "foo", 8, context);
   152     yield setGlobal("foo", 9, context);
   153     yield cps.removeByDomainAndName("a.com", "foo", context, makeCallback());
   154     yield cps.removeGlobal("foo", context, makeCallback());
   155     yield cps.removeGlobal("qux", context, makeCallback());
   156     yield cps.removeByDomainAndName("b.com", "foo", context, makeCallback());
   157     yield dbOK([
   158       ["a.com", "bar", 2],
   159       [null, "bar", 4],
   160       ["b.com", "bar", 7],
   161     ]);
   162     yield getOK(["a.com", "foo", context], undefined);
   163     yield getOK(["a.com", "bar", context], 2);
   164     yield getGlobalOK(["foo", context], undefined);
   165     yield getGlobalOK(["bar", context], 4);
   166     yield getGlobalOK(["qux", context], undefined);
   167     yield getOK(["b.com", "foo", context], undefined);
   168     yield getOK(["b.com", "bar", context], 7);
   170     yield getOK(["a.com", "foo"], undefined);
   171     yield getOK(["a.com", "bar"], 2);
   172     yield getGlobalOK(["foo"], undefined);
   173     yield getGlobalOK(["bar"], 4);
   174     yield getGlobalOK(["qux"], undefined);
   175     yield getOK(["b.com", "foo"], undefined);
   176     yield getOK(["b.com", "bar"], 7);
   177   },
   179   function erroneous() {
   180     do_check_throws(function () cps.removeByDomainAndName(null, "foo", null));
   181     do_check_throws(function () cps.removeByDomainAndName("", "foo", null));
   182     do_check_throws(function () cps.removeByDomainAndName("a.com", "foo", null,
   183                                                           "bogus"));
   184     do_check_throws(function () cps.removeBySubdomainAndName(null, "foo",
   185                                                              null));
   186     do_check_throws(function () cps.removeBySubdomainAndName("", "foo", null));
   187     do_check_throws(function () cps.removeBySubdomainAndName("a.com", "foo",
   188                                                              null, "bogus"));
   189     do_check_throws(function () cps.removeGlobal("", null));
   190     do_check_throws(function () cps.removeGlobal(null, null));
   191     do_check_throws(function () cps.removeGlobal("foo", null, "bogus"));
   192     yield true;
   193   },
   195   function removeByDomainAndName_invalidateCache() {
   196     yield set("a.com", "foo", 1);
   197     getCachedOK(["a.com", "foo"], true, 1);
   198     cps.removeByDomainAndName("a.com", "foo", null, makeCallback());
   199     getCachedOK(["a.com", "foo"], false);
   200     yield;
   201   },
   203   function removeBySubdomainAndName_invalidateCache() {
   204     yield set("a.com", "foo", 1);
   205     yield set("b.a.com", "foo", 2);
   206     getCachedSubdomainsOK(["a.com", "foo"], [
   207       ["a.com", 1],
   208       ["b.a.com", 2],
   209     ]);
   210     cps.removeBySubdomainAndName("a.com", "foo", null, makeCallback());
   211     getCachedSubdomainsOK(["a.com", "foo"], []);
   212     yield;
   213   },
   215   function removeGlobal_invalidateCache() {
   216     yield setGlobal("foo", 1);
   217     getCachedGlobalOK(["foo"], true, 1);
   218     cps.removeGlobal("foo", null, makeCallback());
   219     getCachedGlobalOK(["foo"], false);
   220     yield;
   221   },
   222 ];

mercurial