diff options
Diffstat (limited to 'toolkit/components/webextensions/test/xpcshell/test_locale_data.js')
-rw-r--r-- | toolkit/components/webextensions/test/xpcshell/test_locale_data.js | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/toolkit/components/webextensions/test/xpcshell/test_locale_data.js b/toolkit/components/webextensions/test/xpcshell/test_locale_data.js deleted file mode 100644 index c3cd44e57..000000000 --- a/toolkit/components/webextensions/test/xpcshell/test_locale_data.js +++ /dev/null @@ -1,130 +0,0 @@ -"use strict"; - -Cu.import("resource://gre/modules/Extension.jsm"); - -/* globals ExtensionData */ - -const uuidGenerator = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator); - -function* generateAddon(data) { - let id = uuidGenerator.generateUUID().number; - - data = Object.assign({embedded: true}, data); - data.manifest = Object.assign({applications: {gecko: {id}}}, data.manifest); - - let xpi = Extension.generateXPI(data); - do_register_cleanup(() => { - Services.obs.notifyObservers(xpi, "flush-cache-entry", null); - xpi.remove(false); - }); - - let fileURI = Services.io.newFileURI(xpi); - let jarURI = NetUtil.newURI(`jar:${fileURI.spec}!/webextension/`); - - let extension = new ExtensionData(jarURI); - yield extension.readManifest(); - - return extension; -} - -add_task(function* testMissingDefaultLocale() { - let extension = yield generateAddon({ - "files": { - "_locales/en_US/messages.json": {}, - }, - }); - - equal(extension.errors.length, 0, "No errors reported"); - - yield extension.initAllLocales(); - - equal(extension.errors.length, 1, "One error reported"); - - do_print(`Got error: ${extension.errors[0]}`); - - ok(extension.errors[0].includes('"default_locale" property is required'), - "Got missing default_locale error"); -}); - - -add_task(function* testInvalidDefaultLocale() { - let extension = yield generateAddon({ - "manifest": { - "default_locale": "en", - }, - - "files": { - "_locales/en_US/messages.json": {}, - }, - }); - - equal(extension.errors.length, 1, "One error reported"); - - do_print(`Got error: ${extension.errors[0]}`); - - ok(extension.errors[0].includes("Loading locale file _locales/en/messages.json"), - "Got invalid default_locale error"); - - yield extension.initAllLocales(); - - equal(extension.errors.length, 2, "Two errors reported"); - - do_print(`Got error: ${extension.errors[1]}`); - - ok(extension.errors[1].includes('"default_locale" property must correspond'), - "Got invalid default_locale error"); -}); - - -add_task(function* testUnexpectedDefaultLocale() { - let extension = yield generateAddon({ - "manifest": { - "default_locale": "en_US", - }, - }); - - equal(extension.errors.length, 1, "One error reported"); - - do_print(`Got error: ${extension.errors[0]}`); - - ok(extension.errors[0].includes("Loading locale file _locales/en-US/messages.json"), - "Got invalid default_locale error"); - - yield extension.initAllLocales(); - - equal(extension.errors.length, 2, "One error reported"); - - do_print(`Got error: ${extension.errors[1]}`); - - ok(extension.errors[1].includes('"default_locale" property must correspond'), - "Got unexpected default_locale error"); -}); - - -add_task(function* testInvalidSyntax() { - let extension = yield generateAddon({ - "manifest": { - "default_locale": "en_US", - }, - - "files": { - "_locales/en_US/messages.json": '{foo: {message: "bar", description: "baz"}}', - }, - }); - - equal(extension.errors.length, 1, "No errors reported"); - - do_print(`Got error: ${extension.errors[0]}`); - - ok(extension.errors[0].includes("Loading locale file _locales\/en_US\/messages\.json: SyntaxError"), - "Got syntax error"); - - yield extension.initAllLocales(); - - equal(extension.errors.length, 2, "One error reported"); - - do_print(`Got error: ${extension.errors[1]}`); - - ok(extension.errors[1].includes("Loading locale file _locales\/en_US\/messages\.json: SyntaxError"), - "Got syntax error"); -}); |