diff options
Diffstat (limited to 'dom/apps/tests/unit/test_manifestSanitizer.js')
-rw-r--r-- | dom/apps/tests/unit/test_manifestSanitizer.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/dom/apps/tests/unit/test_manifestSanitizer.js b/dom/apps/tests/unit/test_manifestSanitizer.js new file mode 100644 index 000000000..4b0c999a7 --- /dev/null +++ b/dom/apps/tests/unit/test_manifestSanitizer.js @@ -0,0 +1,63 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +function testEntryPoint(aRoot) { + do_check_true(aRoot.name == "hello world"); + do_check_true(aRoot.description == "A bold name"); + do_check_true(aRoot.developer.name == "Blink Inc."); + + let permissions = aRoot.permissions; + do_check_true(permissions.contacts.description == "Required for autocompletion in the share screen"); + do_check_true(permissions.alarms.description == "Required to schedule notifications"); +} + +function run_test() { + Components.utils.import("resource:///modules/AppsUtils.jsm"); + + do_check_true(!!AppsUtils); + + // Test manifest, with one entry point. + let manifest = { + name: "hello <b>world</b>", + description: "A bold name", + developer: { + name: "<blink>Blink</blink> Inc.", + url: "http://blink.org" + }, + permissions : { + "contacts": { + "description": "Required for autocompletion in the <a href='http://shareme.com'>share</a> screen", + "access": "readcreate" + }, + "alarms": { + "description": "Required to schedule notifications" + } + }, + + entry_points: { + "subapp": { + name: "hello <b>world</b>", + description: "A bold name", + developer: { + name: "<blink>Blink</blink> Inc.", + url: "http://blink.org" + }, + permissions : { + "contacts": { + "description": "Required for autocompletion in the <a href='http://shareme.com'>share</a> screen", + "access": "readcreate" + }, + "alarms": { + "description": "Required to schedule notifications" + } + } + } + } + } + + AppsUtils.sanitizeManifest(manifest); + + // Check the main section and the subapp entry point. + testEntryPoint(manifest); + testEntryPoint(manifest.entry_points.subapp); +} |