addon-sdk/test/browser_sdk_loader_jsm_modules.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 function test () {
     2   let loader = makeLoader();
     3   let module = Module("./main", gTestPath);
     4   let require = Require(loader, module);
     6   try {
     7     let Model = require("resource://gre/modules/BlinkTag.jsm");
     8     ok(false, "requiring a JS module that doesn't exist should throw");
     9   }
    10   catch (e) {
    11     ok(e, "requiring a JS module that doesn't exist should throw");
    12   }
    14   /*
    15    * Relative resource:// URI of JSM
    16    */
    18   let { square } = require("./Math.jsm").Math;
    19   is(square(5), 25, "loads relative URI of JSM");
    21   /*
    22    * Absolute resource:// URI of JSM
    23    */
    24   let { defer } = require("resource://gre/modules/Promise.jsm").Promise;
    25   let { resolve, promise } = defer();
    26   resolve(5);
    27   promise.then(val => {
    28     is(val, 5, "loads absolute resource:// URI of JSM");
    29   }).then(finish);
    31 }

mercurial