UNPKG

1.19 kBJavaScriptView Raw
1'use strict';
2const minimist = require('minimist');
3const Server = require('karma').Server;
4
5const knownOptions = {
6 string: ['browsers', 'pattern'],
7 default: {
8 browsers: ''
9 }
10};
11
12const options = minimist(process.argv.slice(2), knownOptions);
13const browsers = [];
14options.browsers.split(',').forEach(name => {
15 if (!name || name.length < 2) {
16 return;
17 }
18 var lname = name.toLowerCase();
19 if (lname[0] === 'i' && lname[1] === 'e') {
20 browsers.push('IE' + lname.substr(2));
21 } else {
22 browsers.push(lname[0].toUpperCase() + lname.substr(1));
23 }
24});
25
26module.exports = class TestHelper {
27
28 test(karmaConfig) {
29 if (this.karmaServer) {
30 this.karmaServer.refreshFiles();
31 return;
32 }
33 this.karmaServer = new Server(karmaConfig);
34 if (browsers.length > 0) {
35 karmaConfig.browsers = browsers;
36 }
37 if (options.pattern) {
38 karmaConfig.client = {
39 'mocha': {
40 'grep': options.pattern
41 }
42 };
43 }
44 this.karmaServer.start();
45 }
46
47};