From c57ba565463063ac69507294bca1f9e0dfccbe98 Mon Sep 17 00:00:00 2001
From: Shin'ya Ueoka <ueokande@i-beam.org>
Date: Sat, 3 Feb 2018 17:28:35 +0900
Subject: 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],
+}
+
-- 
cgit v1.2.3