angular/modules/@angular/router/karma.conf.js
Miško Hevery 8a5eb08672 fix(fakeAsync): have fakeAsync use Proxy zone. (#10797)
Closes #10503

It is possible for code in `beforeEach` to capture and fork a zone
(for example creating `NgZone` in `beforeEach`). Subsequently the code
in `it` may chose to do `fakeAsync`. The issue is that because the
code in `it` can use `NgZone` from the `beforeEach`. it effectively can
escape the `fakeAsync` zone. A solution is to run all of the test in
`ProxyZone` which allows a test to dynamically replace the rules at any
time. This allows the `beforeEach` to fork a zone, and then `it` to
retroactively became `fakeAsync` zone.
2016-08-19 12:10:53 -07:00

88 lines
3.3 KiB
JavaScript

var browserProvidersConf = require('../../../browser-providers.conf.js');
// Karma configuration
module.exports = function(config) {
config.set({
basePath: '../../../',
frameworks: ['jasmine'],
files: [
// Polyfills.
'node_modules/es6-shim/es6-shim.js',
'node_modules/reflect-metadata/Reflect.js',
'shims_for_IE.js',
// System.js for module loading
'node_modules/systemjs/dist/system-polyfills.js',
'node_modules/systemjs/dist/system.src.js',
// Zone.js dependencies
'node_modules/zone.js/dist/zone.js',
'node_modules/zone.js/dist/long-stack-trace-zone.js',
'node_modules/zone.js/dist/proxy-zone.js',
'node_modules/zone.js/dist/sync-test.js',
'node_modules/zone.js/dist/jasmine-patch.js',
'node_modules/zone.js/dist/async-test.js',
'node_modules/zone.js/dist/fake-async-test.js',
// RxJs.
{ pattern: 'node_modules/rxjs/**/*.js', included: false, watched: false },
{ pattern: 'node_modules/rxjs/**/*.js.map', included: false, watched: false },
// shim
{pattern: 'modules/@angular/router/karma-test-shim.js', included: true, watched: true },
// Angular modules
{pattern: 'dist/all/@angular/core/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/core/src/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/core/testing/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/common/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/common/src/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/common/testing/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/compiler/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/compiler/src/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/compiler/testing/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/platform-browser/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/platform-browser/src/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/platform-browser/testing/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/platform-browser-dynamic/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/platform-browser-dynamic/src/**/*.js', included: false, watched: false},
{pattern: 'dist/all/@angular/platform-browser-dynamic/testing/**/*.js', included: false, watched: false},
// Router
{pattern: 'dist/all/@angular/router/**/*.js', included: false, watched: true}
],
customLaunchers: browserProvidersConf.customLaunchers,
plugins: [
'karma-jasmine',
'karma-browserstack-launcher',
'karma-sauce-launcher',
'karma-chrome-launcher',
'karma-sourcemap-loader'
],
preprocessors: {
'**/*.js': ['sourcemap']
},
reporters: ['dots'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
captureTimeout: 60000,
browserDisconnectTimeout : 60000,
browserDisconnectTolerance : 3,
browserNoActivityTimeout : 60000
});
};