diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2018-02-14 18:43:28 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-14 18:43:28 +0900 |
commit | a48915d4e090378a672d780b2fbc93e1af6e082c (patch) | |
tree | 2e6a4295935577c5e0facbb3f5d569893bf28afe /e2e/karma-webext-launcher.js | |
parent | 5412584a7c453d074dca6d58814e29590085ff73 (diff) | |
parent | f63920e25e80ca0e472d3514fd56e27fbc505e6f (diff) |
Merge pull request #329 from ueokande/e2e-test
End-to-End testing
Diffstat (limited to 'e2e/karma-webext-launcher.js')
-rw-r--r-- | e2e/karma-webext-launcher.js | 53 |
1 files changed, 53 insertions, 0 deletions
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], +} + |