Files
2017-06-21 09:33:06 -05:00

99 lines
3.2 KiB
TypeScript

// This file is named differently than its JS bootstrapper to avoid the ts compiler to overwrite it.
import path = require('path');
import { customLaunchers } from './browser-providers.ts';
export function config(config) {
config.set({
basePath: path.join(__dirname, '../..'),
frameworks: ['jasmine'],
plugins: [
require('karma-jasmine'),
require('karma-coverage'),
require('karma-sourcemap-loader'),
require('karma-chrome-launcher'),
require('karma-spec-reporter')
],
files: [
{pattern: 'dist/vendor/core-js/client/core.js', included: true, watched: false},
{pattern: 'dist/vendor/systemjs/dist/system-polyfills.js', included: true, watched: false},
{pattern: 'dist/vendor/systemjs/dist/system.src.js', included: true, watched: false},
{pattern: 'dist/vendor/zone.js/dist/zone.js', included: true, watched: false},
{pattern: 'dist/vendor/zone.js/dist/proxy.js', included: true, watched: false},
{pattern: 'dist/vendor/zone.js/dist/async-test.js', included: true, watched: false},
{pattern: 'dist/vendor/zone.js/dist/fake-async-test.js', included: true, watched: false},
{pattern: 'scripts/karma/system.config.js', included: true, watched: false},
// paths loaded via module imports
{pattern: 'dist/**/*.js', included: false, watched: true},
// paths to support debugging with source maps in dev tools
{pattern: 'dist/**/*.ts', included: false, watched: false},
{pattern: 'dist/**/*.js.map', included: false, watched: false}
],
proxies: {},
customLaunchers: customLaunchers,
exclude: [
'dist/e2e/**/*'
],
// Source files that you wanna generate coverage for.
// Do not include tests or libraries (these files will be instrumented by Istanbul)
preprocessors: {
'dist/ionic-angular/umd/**/!(*spec).js': ['coverage'],
'dist/ionic-angular/**/*.js': ['sourcemap']
},
reporters: ['dots', 'coverage', 'spec'],
specReporter: {
maxLogLines: 5, // limit number of lines logged per test
suppressErrorSummary: true, // do not print error summary
suppressFailed: false, // do not print information about failed tests
suppressPassed: false, // do not print information about passed tests
suppressSkipped: true, // do not print information about skipped tests
showSpecTiming: false // print the time elapsed for each spec
},
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
sauceLabs: {
testName: 'ionic',
startConnect: false,
recordVideo: false,
recordScreenshots: false,
options: {
'selenium-version': '2.48.2',
'command-timeout': 600,
'idle-timeout': 600,
'max-duration': 5400
}
},
browserStack: {
project: 'ionic',
startTunnel: false,
retryLimit: 1,
timeout: 600,
pollingTimeout: 20000
},
browserDisconnectTimeout: 20000,
browserNoActivityTimeout: 240000,
captureTimeout: 120000,
browsers: ['Chrome_1024x768'],
coverageReporter: {
reporters: [
{type: 'json', subdir: '.', file: 'coverage-final.json'}
]
},
singleRun: true
});
};