From c57ba565463063ac69507294bca1f9e0dfccbe98 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Sat, 3 Feb 2018 17:28:35 +0900 Subject: [PATCH] add karma-webext-launcher --- e2e/karma-webext-launcher.js | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 e2e/karma-webext-launcher.js diff --git a/e2e/karma-webext-launcher.js b/e2e/karma-webext-launcher.js new file mode 100644 index 0000000..e0a3e42 --- /dev/null +++ b/e2e/karma-webext-launcher.js @@ -0,0 +1,53 @@ +'use strict' + +var fs = require('fs') +var path = require('path') + +var PREFS = { + 'browser.shell.checkDefaultBrowser': 'false', + 'browser.bookmarks.restore_default_bookmarks': 'false', + 'dom.disable_open_during_load': 'false', + 'dom.max_script_run_time': '0', + 'dom.min_background_timeout_value': '10', + 'extensions.autoDisableScopes': '0', + 'extensions.enabledScopes': '15', +} + +var FirefoxWebExt = function (id, baseBrowserDecorator, args) { + baseBrowserDecorator(this) + + this._start = function (url) { + var self = this + var command = this._getCommand() + + let prefArgs = [].concat(...Object.keys(PREFS).map((key) => { + return ['--pref', key + '=' + PREFS[key]]; + })); + let sourceDirArgs = [].concat(...args.sourceDirs.map((dir) => { + return ['--source-dir', dir]; + })); + + self._execCommand( + command, + ['run', '--start-url', url, '--no-input'].concat(sourceDirArgs, prefArgs) + ) + } +} + +FirefoxWebExt.prototype = { + name: 'FirefoxWebExt', + + DEFAULT_CMD: { + linux: 'node_modules/web-ext/bin/web-ext', + darwin: 'node_modules/web-ext/bin/web-ext', + win32: 'node_modules/web-ext/bin/web-ext', + } +} + +FirefoxWebExt.$inject = ['id', 'baseBrowserDecorator', 'args'] + +// PUBLISH DI MODULE +module.exports = { + 'launcher:FirefoxWebExt': ['type', FirefoxWebExt], +} +