
committed by
Kara Erickson

parent
7b3bcc23af
commit
5eb7426216
74
packages/zone.js/test/main.ts
Normal file
74
packages/zone.js/test/main.ts
Normal file
@ -0,0 +1,74 @@
|
||||
/**
|
||||
* @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); });
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user