79 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/**
 | 
						|
 * @license
 | 
						|
 * Copyright Google Inc. All Rights Reserved.
 | 
						|
 *
 | 
						|
 * Use of this source code is governed by an MIT-style license that can be
 | 
						|
 * found in the LICENSE file at https://angular.io/license
 | 
						|
 */
 | 
						|
 | 
						|
/// <reference types="systemjs" />
 | 
						|
 | 
						|
declare const __karma__: {
 | 
						|
  loaded: Function,
 | 
						|
  start: Function,
 | 
						|
  error: Function,
 | 
						|
};
 | 
						|
 | 
						|
__karma__.loaded = function() {};
 | 
						|
 | 
						|
let entryPoint = 'browser_entry_point';
 | 
						|
 | 
						|
if (typeof __karma__ !== 'undefined') {
 | 
						|
  (window as any)['__Zone_Error_BlacklistedStackFrames_policy'] =
 | 
						|
      (__karma__ as any).config.errorpolicy;
 | 
						|
  if ((__karma__ as any).config.entrypoint) {
 | 
						|
    entryPoint = (__karma__ as any).config.entrypoint;
 | 
						|
  }
 | 
						|
} else if (typeof process !== 'undefined') {
 | 
						|
  (window as any)['__Zone_Error_BlacklistedStackFrames_policy'] = process.env.errorpolicy;
 | 
						|
  if (process.env.entrypoint) {
 | 
						|
    entryPoint = process.env.entrypoint;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
(window as any).global = window;
 | 
						|
System.config({
 | 
						|
  defaultJSExtensions: true,
 | 
						|
  map: {
 | 
						|
    'rxjs': 'base/npm/node_modules/rxjs/index',
 | 
						|
    'rxjs/operators': 'base/npm/node_modules/rxjs/operators/index',
 | 
						|
    'core-js/features/set': 'base/npm/node_modules/core-js/es6/set',
 | 
						|
    'core-js/features/map': 'base/npm/node_modules/core-js/es6/map',
 | 
						|
    'es6-promise': 'base/npm/node_modules/es6-promise/dist/es6-promise'
 | 
						|
  },
 | 
						|
});
 | 
						|
 | 
						|
let browserPatchedPromise: any = null;
 | 
						|
if ((window as any)[(Zone as any).__symbol__('setTimeout')]) {
 | 
						|
  browserPatchedPromise = Promise.resolve('browserPatched');
 | 
						|
} else {
 | 
						|
  // this means that Zone has not patched the browser yet, which means we must be running in
 | 
						|
  // build mode and need to load the browser patch.
 | 
						|
  browserPatchedPromise =
 | 
						|
      System.import('/base/angular/packages/zone.js/test/browser-zone-setup').then(() => {
 | 
						|
        let testFrameworkPatch = typeof (window as any).Mocha !== 'undefined' ?
 | 
						|
            '/base/angular/packages/zone.js/lib/mocha/mocha' :
 | 
						|
            '/base/angular/packages/zone.js/lib/jasmine/jasmine';
 | 
						|
        return System.import(testFrameworkPatch);
 | 
						|
      });
 | 
						|
}
 | 
						|
 | 
						|
browserPatchedPromise.then(() => {
 | 
						|
  let testFrameworkPatch = typeof (window as any).Mocha !== 'undefined' ?
 | 
						|
      '/base/angular/packages/zone.js/test/test-env-setup-mocha' :
 | 
						|
      '/base/angular/packages/zone.js/test/test-env-setup-jasmine';
 | 
						|
  // Setup test environment
 | 
						|
  System.import(testFrameworkPatch).then(() => {
 | 
						|
    System.import('/base/angular/packages/zone.js/lib/common/error-rewrite').then(() => {
 | 
						|
      System.import(`/base/angular/packages/zone.js/test/${entryPoint}`)
 | 
						|
          .then(
 | 
						|
              () => {
 | 
						|
                __karma__.start();
 | 
						|
              },
 | 
						|
              (error: any) => {
 | 
						|
                console.error(error.stack || error);
 | 
						|
              });
 | 
						|
    });
 | 
						|
  });
 | 
						|
});
 |