/** * @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 */ // bootstrap the bazel require patch since this bootstrap script is loaded with // `--node_options=--require=$(rlocation $(location script.js))` if (process.env['BAZEL_NODE_RUNFILES_HELPER']) { require(process.env['BAZEL_NODE_RUNFILES_HELPER'] as string).patchRequire(); } // Must be loaded before zone loads, so that zone can detect WTF. import './test_fake_polyfill'; // Setup tests for Zone without microtask support import '../lib/zone'; import '../lib/common/promise'; import '../lib/common/to-string'; import '../lib/node/node'; // Setup test environment require('@bazel/jasmine').boot(); import './test-env-setup-jasmine'; import './wtf_mock'; import '../lib/zone-spec/async-test'; import '../lib/zone-spec/fake-async-test'; import '../lib/zone-spec/long-stack-trace'; import '../lib/zone-spec/proxy'; import '../lib/zone-spec/sync-test'; import '../lib/zone-spec/task-tracking'; import '../lib/zone-spec/wtf'; import '../lib/rxjs/rxjs'; import '../lib/testing/promise-testing'; const globalErrors = (jasmine as any).GlobalErrors; const symbol = Zone.__symbol__; if (globalErrors && !(jasmine as any)[symbol('GlobalErrors')]) { (jasmine as any)[symbol('GlobalErrors')] = globalErrors; (jasmine as any).GlobalErrors = function() { const instance = new globalErrors(); const originalInstall = instance.install; if (originalInstall && !instance[symbol('install')]) { instance[symbol('install')] = originalInstall; instance.install = function() { const originalHandlers = process.listeners('unhandledRejection'); const r = originalInstall.apply(this, arguments); process.removeAllListeners('unhandledRejection'); if (originalHandlers) { originalHandlers.forEach(h => process.on('unhandledRejection', h)); } return r; }; } return instance; }; }