55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // /*global jasmine, __karma__, window*/
 | |
| Error.stackTraceLimit = Infinity;
 | |
| jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000;
 | |
| 
 | |
| __karma__.loaded = function () {
 | |
| };
 | |
| 
 | |
| function isJsFile(path) {
 | |
|   return path.slice(-3) == '.js';
 | |
| }
 | |
| 
 | |
| function isSpecFile(path) {
 | |
|   return /\.spec\.js$/.test(path);
 | |
| }
 | |
| 
 | |
| function isBuiltFile(path) {
 | |
|   var builtPath = '/base/app/';
 | |
|   return isJsFile(path) && (path.substr(0, builtPath.length) == builtPath);
 | |
| }
 | |
| 
 | |
| var allSpecFiles = Object.keys(window.__karma__.files)
 | |
|   .filter(isSpecFile)
 | |
|   .filter(isBuiltFile);
 | |
| 
 | |
| System.config({
 | |
|   baseURL: '/base',
 | |
|   packageWithIndex: true // sadly, we can't use umd packages (yet?)
 | |
| });
 | |
| 
 | |
| System.import('systemjs.config.js')
 | |
|   .then(function () {
 | |
|     return Promise.all([
 | |
|       System.import('@angular/core/testing'),
 | |
|       System.import('@angular/platform-browser-dynamic/testing')
 | |
|     ])
 | |
|   })
 | |
|   .then(function (providers) {
 | |
|     var testing = providers[0];
 | |
|     var testingBrowser = providers[1];
 | |
| 
 | |
|     testing.setBaseTestProviders(
 | |
|       testingBrowser.TEST_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,
 | |
|       testingBrowser.TEST_BROWSER_DYNAMIC_APPLICATION_PROVIDERS);
 | |
| 
 | |
|   })
 | |
|   .then(function() {
 | |
|     // Finally, load all spec files.
 | |
|     // This will run the tests directly.
 | |
|     return Promise.all(
 | |
|       allSpecFiles.map(function (moduleName) {
 | |
|         return System.import(moduleName);
 | |
|       }));
 | |
|   })
 | |
|   .then(__karma__.start, __karma__.error);
 |