addon-sdk/source/test/test-packaging.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:006b94cf8f55
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";
5
6 var options = require("@loader/options");
7
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) {}
17
18 assert.equal(options.metadata.description,
19 "Add-on development made easy.",
20 "packaging metadata should be frozen");
21
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");
28
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");
36
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 };
45
46 require('sdk/test').run(exports);

mercurial