UNPKG

2.59 kBJavaScriptView Raw
1// Karma configuration file, see link for more information
2// https://karma-runner.github.io/0.13/config/configuration-file.html
3
4const customLaunchers = require('./scripts/sauce-browsers').customLaunchers;
5
6module.exports = function (config) {
7 const configuration = {
8 basePath: '',
9 frameworks: ['jasmine', '@angular/cli'],
10 plugins: [
11 require('karma-jasmine'),
12 require('karma-chrome-launcher'),
13 require('karma-jasmine-html-reporter'),
14 require('karma-coverage-istanbul-reporter'),
15 require('@angular/cli/plugins/karma')
16 ],
17 mime: { 'text/x-typescript': ['ts','tsx'] },
18 client:{
19 clearContext: false // leave Jasmine Spec Runner output visible in browser
20 },
21 files: [
22 {pattern: './scripts/test.ts', watched: false}
23 ],
24 preprocessors: {
25 './scripts/test.ts': ['@angular/cli']
26 },
27 coverageIstanbulReporter: {
28 reports: [ 'html', 'lcovonly' ],
29 fixWebpackSourcePaths: true
30 },
31 angularCli: {
32 environment: 'dev'
33 },
34 reporters: config.angularCli && config.angularCli.codeCoverage
35 ? ['progress', 'coverage-istanbul']
36 : ['progress', 'kjhtml'],
37 port: 9876,
38 colors: true,
39 logLevel: config.LOG_INFO,
40 autoWatch: true,
41 browsers: ['Chrome'],
42 singleRun: false,
43 customLaunchers: {
44 Chrome_travis_ci: {
45 base: 'Chrome',
46 flags: ['--no-sandbox']
47 }
48 },
49 };
50
51 if (process.env.TRAVIS) {
52 configuration.browsers = ['Chrome_travis_ci'];
53 }
54
55 if (process.env.SAUCE) {
56 if (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) {
57 console.log('Make sure the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables are set.');
58 process.exit(1);
59 }
60
61 configuration.plugins.push(require('karma-sauce-launcher'));
62 configuration.reporters.push('saucelabs');
63 configuration.sauceLabs = {
64 verbose: true,
65 testName: 'ng2-bootstrap unit tests',
66 recordScreenshots: false,
67 username: process.env.SAUCE_USERNAME,
68 accessKey: process.env.SAUCE_ACCESS_KEY,
69 connectOptions: {
70 port: 5757,
71 logfile: 'sauce_connect.log'
72 },
73 public: 'public'
74 };
75 configuration.captureTimeout = 0;
76 configuration.customLaunchers = customLaunchers();
77 configuration.browsers = Object.keys(configuration.customLaunchers);
78 configuration.concurrency = 3;
79 configuration.browserDisconnectTolerance = 2;
80 configuration.browserNoActivityTimeout = 20000;
81 configuration.browserDisconnectTimeout = 5000;
82 }
83
84 config.set(configuration);
85};