| 
									
										
										
										
											2015-10-27 16:09:09 +01:00
										 |  |  | var browserProvidersConf = require('./browser-providers.conf.js'); | 
					
						
							| 
									
										
										
										
											2015-11-23 14:58:18 -08:00
										 |  |  | var internalAngularReporter = require('./tools/karma/reporter.js'); | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-09-25 14:04:46 -07:00
										 |  |  | // Karma configuration
 | 
					
						
							|  |  |  | // Generated on Thu Sep 25 2014 11:52:02 GMT-0700 (PDT)
 | 
					
						
							|  |  |  | module.exports = function(config) { | 
					
						
							|  |  |  |   config.set({ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     frameworks: ['jasmine'], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     files: [ | 
					
						
							| 
									
										
										
										
											2014-10-06 17:35:00 -07:00
										 |  |  |       // Sources and specs.
 | 
					
						
							| 
									
										
										
										
											2015-08-20 17:05:05 +02:00
										 |  |  |       // Loaded through the System loader, in `test-main.js`.
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |       {pattern: 'dist/all/@angular/**/*.js', included: false, watched: true}, | 
					
						
							|  |  |  |       {pattern: 'dist/all/angular2/**/*.js', included: false, watched: true}, | 
					
						
							| 
									
										
										
										
											2014-10-06 17:35:00 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-16 23:50:03 +02:00
										 |  |  |       'node_modules/es6-shim/es6-shim.js', | 
					
						
							| 
									
										
										
										
											2015-08-05 10:32:14 -07:00
										 |  |  |       // include Angular v1 for upgrade module testing
 | 
					
						
							|  |  |  |       'node_modules/angular/angular.min.js', | 
					
						
							| 
									
										
										
										
											2015-09-16 23:50:03 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-25 14:24:17 -08:00
										 |  |  |       'node_modules/zone.js/dist/zone.js', | 
					
						
							| 
									
										
										
										
											2015-05-12 09:47:17 +02:00
										 |  |  |       'node_modules/zone.js/dist/long-stack-trace-zone.js', | 
					
						
							| 
									
										
										
										
											2015-05-19 09:13:17 +02:00
										 |  |  |       'node_modules/zone.js/dist/jasmine-patch.js', | 
					
						
							| 
									
										
											  
											
												feat(tests): manage asynchronous tests using zones
Instead of using injectAsync and returning a promise, use the `async` function
to wrap tests. This will run the test inside a zone which does not complete
the test until all asynchronous tasks have been completed.
`async` may be used with the `inject` function, or separately.
BREAKING CHANGE:
`injectAsync` is now deprecated. Instead, use the `async` function
to wrap any asynchronous tests.
Before:
```
it('should wait for returned promises', injectAsync([FancyService], (service) => {
  return service.getAsyncValue().then((value) => { expect(value).toEqual('async value'); });
}));
it('should wait for returned promises', injectAsync([], () => {
  return somePromise.then(() => { expect(true).toEqual(true); });
}));
```
After:
```
it('should wait for returned promises', async(inject([FancyService], (service) => {
  service.getAsyncValue().then((value) => { expect(value).toEqual('async value'); });
})));
// Note that if there is no injection, we no longer need `inject` OR `injectAsync`.
it('should wait for returned promises', async(() => {
  somePromise.then() => { expect(true).toEqual(true); });
}));
```
Closes #7735
											
										 
											2016-03-23 10:59:38 -07:00
										 |  |  |       'node_modules/zone.js/dist/async-test.js', | 
					
						
							| 
									
										
										
										
											2016-04-18 16:04:35 -07:00
										 |  |  |       'node_modules/zone.js/dist/fake-async-test.js', | 
					
						
							| 
									
										
										
										
											2015-08-05 10:32:14 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-30 18:52:32 +01:00
										 |  |  |       // Including systemjs because it defines `__eval`, which produces correct stack traces.
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |       'shims_for_IE.js', | 
					
						
							| 
									
										
										
										
											2014-10-30 18:52:32 +01:00
										 |  |  |       'node_modules/systemjs/dist/system.src.js', | 
					
						
							| 
									
										
										
										
											2015-11-30 17:22:52 -08:00
										 |  |  |       {pattern: 'node_modules/rxjs/**', included: false, watched: false, served: true}, | 
					
						
							| 
									
										
										
										
											2015-04-28 18:17:00 -07:00
										 |  |  |       'node_modules/reflect-metadata/Reflect.js', | 
					
						
							| 
									
										
										
										
											2014-12-05 16:26:30 -08:00
										 |  |  |       'tools/build/file2modulename.js', | 
					
						
							| 
									
										
										
										
											2015-05-19 19:27:03 +02:00
										 |  |  |       'test-main.js', | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |       {pattern: 'dist/all/empty.*', included: false, watched: false}, | 
					
						
							|  |  |  |       {pattern: 'modules/@angular/platform-browser/test/static_assets/**', included: false, watched: false}, | 
					
						
							| 
									
										
										
										
											2016-05-19 14:31:21 -07:00
										 |  |  |       {pattern: 'modules/@angular/platform-browser/test/browser/static_assets/**', included: false, watched: false} | 
					
						
							| 
									
										
										
										
											2014-09-25 14:04:46 -07:00
										 |  |  |     ], | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |     exclude: [ | 
					
						
							|  |  |  |       'dist/all/@angular/**/e2e_test/**', | 
					
						
							|  |  |  |       'dist/all/@angular/examples/**', | 
					
						
							| 
									
										
										
										
											2016-05-03 09:24:09 -07:00
										 |  |  |       'dist/all/@angular/compiler_cli/**', | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |       'dist/all/angular1_router.js', | 
					
						
							|  |  |  |       'dist/all/@angular/platform-browser/testing/e2e_util.js' | 
					
						
							|  |  |  |     ], | 
					
						
							| 
									
										
										
										
											2015-01-08 10:02:23 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-27 16:09:09 +01:00
										 |  |  |     customLaunchers: browserProvidersConf.customLaunchers, | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-23 14:58:18 -08:00
										 |  |  |     plugins: [ | 
					
						
							|  |  |  |       'karma-jasmine', | 
					
						
							|  |  |  |       'karma-browserstack-launcher', | 
					
						
							|  |  |  |       'karma-sauce-launcher', | 
					
						
							|  |  |  |       'karma-chrome-launcher', | 
					
						
							|  |  |  |       'karma-sourcemap-loader', | 
					
						
							|  |  |  |       'karma-dart', | 
					
						
							|  |  |  |       internalAngularReporter | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     preprocessors: { | 
					
						
							|  |  |  |       '**/*.js': ['sourcemap'] | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     reporters: ['internal-angular'], | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  |     sauceLabs: { | 
					
						
							|  |  |  |       testName: 'Angular2', | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |       retryLimit: 3, | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  |       startConnect: false, | 
					
						
							|  |  |  |       recordVideo: false, | 
					
						
							|  |  |  |       recordScreenshots: false, | 
					
						
							| 
									
										
										
										
											2015-09-02 20:58:02 -07:00
										 |  |  |       options: { | 
					
						
							| 
									
										
										
										
											2016-05-09 16:47:26 -07:00
										 |  |  |         'selenium-version': '2.53.0', | 
					
						
							| 
									
										
										
										
											2015-09-02 20:58:02 -07:00
										 |  |  |         'command-timeout': 600, | 
					
						
							|  |  |  |         'idle-timeout': 600, | 
					
						
							|  |  |  |         'max-duration': 5400 | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  |       } | 
					
						
							| 
									
										
										
										
											2014-09-29 14:20:23 -07:00
										 |  |  |     }, | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-27 16:09:09 +01:00
										 |  |  |     browserStack: { | 
					
						
							|  |  |  |       project: 'Angular2', | 
					
						
							|  |  |  |       startTunnel: false, | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |       retryLimit: 3, | 
					
						
							| 
									
										
										
										
											2015-11-06 10:55:04 +01:00
										 |  |  |       timeout: 600, | 
					
						
							|  |  |  |       pollingTimeout: 10000 | 
					
						
							| 
									
										
										
										
											2015-10-27 16:09:09 +01:00
										 |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-24 17:24:01 -07:00
										 |  |  |     browsers: ['Chrome'], | 
					
						
							| 
									
										
										
										
											2014-10-09 13:50:25 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-01 22:22:26 -07:00
										 |  |  |     port: 9876, | 
					
						
							|  |  |  |     captureTimeout: 60000, | 
					
						
							|  |  |  |     browserDisconnectTimeout : 60000, | 
					
						
							|  |  |  |     browserDisconnectTolerance : 3, | 
					
						
							|  |  |  |     browserNoActivityTimeout : 60000, | 
					
						
							| 
									
										
										
										
											2014-09-25 14:04:46 -07:00
										 |  |  |   }); | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-27 16:09:09 +01:00
										 |  |  |   if (process.env.TRAVIS) { | 
					
						
							|  |  |  |     var buildId = 'TRAVIS #' + process.env.TRAVIS_BUILD_NUMBER + ' (' + process.env.TRAVIS_BUILD_ID + ')'; | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |     if (process.env.CI_MODE.startsWith('saucelabs')) { | 
					
						
							| 
									
										
										
										
											2015-10-27 16:09:09 +01:00
										 |  |  |       config.sauceLabs.build = buildId; | 
					
						
							|  |  |  |       config.sauceLabs.tunnelIdentifier = process.env.TRAVIS_JOB_NUMBER; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       // TODO(mlaval): remove once SauceLabs supports websockets.
 | 
					
						
							|  |  |  |       // This speeds up the capturing a bit, as browsers don't even try to use websocket.
 | 
					
						
							|  |  |  |       console.log('>>>> setting socket.io transport to polling <<<<'); | 
					
						
							|  |  |  |       config.transports = ['polling']; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |     if (process.env.CI_MODE.startsWith('browserstack')) { | 
					
						
							| 
									
										
										
										
											2015-10-27 16:09:09 +01:00
										 |  |  |       config.browserStack.build = buildId; | 
					
						
							|  |  |  |       config.browserStack.tunnelIdentifier = process.env.TRAVIS_JOB_NUMBER; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-06-02 16:29:09 +02:00
										 |  |  |   } | 
					
						
							| 
									
										
										
										
											2014-09-25 14:04:46 -07:00
										 |  |  | }; |