|
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); |