diff --git a/ext/build.js b/ext/build.js index 1a96483..e19f0e8 100644 --- a/ext/build.js +++ b/ext/build.js @@ -83,7 +83,12 @@ if (argv.watch) { // Prevent auto-exit shouldExitProgram: false - }).then(() => { + }).then(result => { + const archiveName = path.basename(result.extensionPath); + + fs.moveSync(path.join(DIST_PATH, archiveName) + , path.join(DIST_PATH, archiveName.replace("zip", "xpi"))); + // Only need the built extension archive fs.remove(UNPACKED_PATH); }) diff --git a/test/driver.js b/test/driver.js index 5868d29..8c76533 100644 --- a/test/driver.js +++ b/test/driver.js @@ -1,17 +1,32 @@ "use strict"; -const path = require("path"); +const path = require("path"); +const glob = require("glob"); +const fs = require("fs"); const webdriver = require("selenium-webdriver"); -const firefox = require("selenium-webdriver/firefox"); -const chrome = require("selenium-webdriver/chrome"); +const firefox = require("selenium-webdriver/firefox"); +const chrome = require("selenium-webdriver/chrome"); + +const { __extensionName + , __extensionVersion } = require("../ext/package.json"); + + +const extensionArchivePath = path.join( + path.join(__dirname, "../dist/ext/") + , `${__extensionName}-${__extensionVersion}.xpi`); + +if (!fs.existsSync(extensionArchivePath)) { + console.error("Extension archive not found."); + process.exit(1); +} const TEST_PAGE_URL = `file:///${__dirname}/test.html`; const firefoxOptions = new firefox.Options() .headless() - .addExtensions(path.resolve(__dirname, "../dist/ext/ext.xpi")) + .addExtensions(extensionArchivePath) .setPreference("xpinstall.signatures.required", false); const chromeOptions = new chrome.Options()