forked from mirrors/gecko-dev
Differential Revision: https://phabricator.services.mozilla.com/D18753 --HG-- extra : rebase_source : 8df66f0ae26dbe126a6bf426532ea3f3ec030f0e
36 lines
1 KiB
JavaScript
36 lines
1 KiB
JavaScript
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* vim: set sts=2 sw=2 et tw=80: */
|
|
"use strict";
|
|
|
|
add_task(async function test_json_parser() {
|
|
const ID = "json@test.web.extension";
|
|
|
|
let xpi = AddonTestUtils.createTempWebExtensionFile({
|
|
files: {
|
|
"manifest.json": String.raw`{
|
|
// This is a manifest.
|
|
"applications": {"gecko": {"id": "${ID}"}},
|
|
"name": "This \" is // not a comment",
|
|
"version": "0.1\\" // , "description": "This is not a description"
|
|
}`,
|
|
},
|
|
});
|
|
|
|
let expectedManifest = {
|
|
"applications": {"gecko": {"id": ID}},
|
|
"name": "This \" is // not a comment",
|
|
"version": "0.1\\",
|
|
};
|
|
|
|
let fileURI = Services.io.newFileURI(xpi);
|
|
let uri = NetUtil.newURI(`jar:${fileURI.spec}!/`);
|
|
|
|
let extension = new ExtensionData(uri);
|
|
|
|
await extension.parseManifest();
|
|
|
|
Assert.deepEqual(extension.rawManifest, expectedManifest,
|
|
"Manifest with correctly-filtered comments");
|
|
|
|
Services.obs.notifyObservers(xpi, "flush-cache-entry");
|
|
});
|