summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/bin/node-scripts/test.examples.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /addon-sdk/source/bin/node-scripts/test.examples.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'addon-sdk/source/bin/node-scripts/test.examples.js')
-rw-r--r--addon-sdk/source/bin/node-scripts/test.examples.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/addon-sdk/source/bin/node-scripts/test.examples.js b/addon-sdk/source/bin/node-scripts/test.examples.js
new file mode 100644
index 000000000..71f7ee43c
--- /dev/null
+++ b/addon-sdk/source/bin/node-scripts/test.examples.js
@@ -0,0 +1,45 @@
+/* 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";
+
+var utils = require("./utils");
+var path = require("path");
+var fs = require("fs");
+var jpm = utils.run;
+var readParam = utils.readParam;
+
+var examplesPath = path.join(__dirname, "..", "..", "examples");
+
+var binary = process.env.JPM_FIREFOX_BINARY || "nightly";
+var filterPattern = readParam("filter");
+
+describe("jpm test sdk examples", function () {
+ fs.readdirSync(examplesPath)
+ .filter(fileFilter.bind(null, examplesPath))
+ .forEach(function (file) {
+ it(file, function (done) {
+ var addonPath = path.join(examplesPath, file);
+ process.chdir(addonPath);
+
+ var options = { cwd: addonPath, env: { JPM_FIREFOX_BINARY: binary }};
+ if (process.env.DISPLAY) {
+ options.env.DISPLAY = process.env.DISPLAY;
+ }
+
+ jpm("test", options).then(done);
+ });
+ });
+});
+
+function fileFilter(root, file) {
+ var matcher = filterPattern && new RegExp(filterPattern);
+ if (/^(reading-data)/.test(file)) {
+ return false;
+ }
+ if (matcher && !matcher.test(file)) {
+ return false;
+ }
+ var stat = fs.statSync(path.join(root, file))
+ return (stat && stat.isDirectory());
+}