extensions/cookie/test/unit/test_permmanager_mailto.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/ */
     4 function run_test() {
     5   // initialize the permission manager service
     6   const kTestAddr = "test@example.org";
     7   const kType = "test-mailto";
     8   const kCapability = 1;
    10   // make a mailto: URI with parameters
    11   let uri = Services.io.newURI("mailto:" + kTestAddr + "?subject=test", null,
    12                                null);
    14   // add a permission entry for that URI
    15   Services.perms.add(uri, kType, kCapability);
    16   do_check_true(permission_exists(kTestAddr, kType, kCapability));
    18   // remove the permission, and make sure it was removed
    19   Services.perms.remove(kTestAddr, kType);
    20   do_check_false(permission_exists(kTestAddr, kType, kCapability));
    22   uri = Services.io.newURI("mailto:" + kTestAddr, null, null);
    23   Services.perms.add(uri, kType, kCapability);
    24   do_check_true(permission_exists(kTestAddr, kType, kCapability));
    26   Services.perms.remove(kTestAddr, kType);
    27   do_check_false(permission_exists(kTestAddr, kType, kCapability));
    28 }
    30 function permission_exists(aHost, aType, aCapability) {
    31   let e = Services.perms.enumerator;
    32   while (e.hasMoreElements()) {
    33     let perm = e.getNext().QueryInterface(Ci.nsIPermission);
    34     if (perm.host == aHost &&
    35         perm.type == aType &&
    36         perm.capability == aCapability) {
    37       return true;
    38     }
    39   }
    40   return false;
    41 }

mercurial