addon-sdk/source/test/test-packaging.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 /* 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
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     4  "use strict";
     6 var options = require("@loader/options");
     8 exports.testPackaging = function(assert) {
     9   assert.equal(options.metadata.description,
    10                    "Add-on development made easy.",
    11                    "packaging metadata should be available");
    12   try {
    13     options.metadata.description = 'new description';
    14     assert.fail('should not have been able to set options.metadata property');
    15   }
    16   catch (e) {}
    18   assert.equal(options.metadata.description,
    19                    "Add-on development made easy.",
    20                    "packaging metadata should be frozen");
    22   assert.equal(options.metadata.permissions['private-browsing'], undefined,
    23                    "private browsing metadata should be undefined");
    24   assert.equal(options.metadata['private-browsing'], undefined,
    25                    "private browsing metadata should be be frozen");
    26   assert.equal(options['private-browsing'], undefined,
    27                    "private browsing metadata should be be frozen");
    29   try {
    30     options.metadata['private-browsing'] = true;
    31     assert.fail('should not have been able to set options.metadata property');
    32   }
    33   catch(e) {}
    34   assert.equal(options.metadata['private-browsing'], undefined,
    35                    "private browsing metadata should be be frozen");
    37   try {
    38     options.metadata.permissions['private-browsing'] = true;
    39     assert.fail('should not have been able to set options.metadata.permissions property');
    40   }
    41   catch (e) {}
    42   assert.equal(options.metadata.permissions['private-browsing'], undefined,
    43                    "private browsing metadata should be be frozen");
    44 };
    46 require('sdk/test').run(exports);

mercurial