summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/test-mpl2-license-header.js
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/test/test-mpl2-license-header.js')
-rw-r--r--addon-sdk/source/test/test-mpl2-license-header.js105
1 files changed, 0 insertions, 105 deletions
diff --git a/addon-sdk/source/test/test-mpl2-license-header.js b/addon-sdk/source/test/test-mpl2-license-header.js
deleted file mode 100644
index 22a2cf0ea..000000000
--- a/addon-sdk/source/test/test-mpl2-license-header.js
+++ /dev/null
@@ -1,105 +0,0 @@
-// Note: This line is here intentionally, to break MPL2_LICENSE_TEST
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-"use strict";
-
-const { Cc, Ci, Cu } = require("chrome");
-const options = require('@loader/options');
-const { id } = require("sdk/self");
-const { getAddonByID } = require("sdk/addon/manager");
-const { mapcat, map, filter, fromEnumerator } = require("sdk/util/sequence");
-const { readURISync } = require('sdk/net/url');
-const { Request } = require('sdk/request');
-const { defer } = require("sdk/core/promise");
-
-const ios = Cc['@mozilla.org/network/io-service;1'].
- getService(Ci.nsIIOService);
-
-const MIT_LICENSE_HEADER = [];
-
-const MPL2_LICENSE_TEST = new RegExp([
- "^\\/\\* This Source Code Form is subject to the terms of the Mozilla Public",
- " \\* License, v\\. 2\\.0\\. If a copy of the MPL was not distributed with this",
- " \\* file, You can obtain one at http:\\/\\/mozilla\\.org\\/MPL\\/2\\.0\\/\\. \\*\\/"
-].join("\n"));
-
-// Note: Using regular expressions because the paths a different for cfx vs jpm
-const IGNORES = [
- /lib[\/\\](diffpatcher|method)[\/\\].+$/, // MIT
- /lib[\/\\]sdk[\/\\]fs[\/\\]path\.js$/, // MIT
- /lib[\/\\]sdk[\/\\]system[\/\\]child_process[\/\\].*/,
- /tests?[\/\\]buffers[\/\\].+$/, // MIT
- /tests?[\/\\]path[\/\\]test-path\.js$/,
- /tests?[\/\\]querystring[\/\\]test-querystring\.js$/,
-];
-
-const ignoreFile = file => !!IGNORES.find(regex => regex.test(file));
-
-const baseURI = "resource://test-sdk-addon/";
-
-const uri = (path="") => baseURI + path;
-
-const toFile = x => x.QueryInterface(Ci.nsIFile);
-const isTestFile = ({ path, leafName }) => {
- return !ignoreFile(path) && /\.jsm?$/.test(leafName)
-};
-const getFileURI = x => ios.newFileURI(x).spec;
-
-const getDirectoryEntries = file => map(toFile, fromEnumerator(_ => file.directoryEntries));
-
-const isDirectory = x => x.isDirectory();
-const getEntries = directory => mapcat(entry => {
- if (isDirectory(entry)) {
- return getEntries(entry);
- }
- else if (isTestFile(entry)) {
- return [ entry ];
- }
- return [];
-}, filter(() => true, getDirectoryEntries(directory)));
-
-function readURL(url) {
- let { promise, resolve } = defer();
-
- Request({
- url: url,
- overrideMimeType: "text/plain",
- onComplete: (response) => resolve(response.text)
- }).get();
-
- return promise;
-}
-
-exports["test MPL2 license header"] = function*(assert) {
- let addon = yield getAddonByID(id);
- let xpiURI = addon.getResourceURI();
- let rootURL = xpiURI.spec;
- assert.ok(rootURL, rootURL);
- let files = [...getEntries(xpiURI.QueryInterface(Ci.nsIFileURL).file)];
-
- assert.ok(files.length > 1, files.length + " files found.");
- let failures = [];
- let success = 0;
-
- for (let i = 0, len = files.length; i < len; i++) {
- let file = files[i];
- assert.ok(file.path, "Trying " + file.path);
-
- const URI = ios.newFileURI(file);
-
- let leafName = URI.spec.replace(rootURL, "");
-
- let contents = yield readURL(URI.spec);
- if (!MPL2_LICENSE_TEST.test(contents)) {
- failures.push(leafName);
- }
- }
-
- assert.equal(1, failures.length, "we expect one failure");
- assert.ok(/test-mpl2-license-header\.js$/.test(failures[0]), "the only failure is this file");
- failures.shift();
- assert.equal("", failures.join(",\n"), failures.length + " files found missing the required mpl 2 header");
-}
-
-require("sdk/test").run(exports);