@angular/core 5.2.2 → 5.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v5.2.2
2
+ * @license Angular v5.2.6
3
3
  * (c) 2010-2018 Google, Inc. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -36,7 +36,7 @@ function __extends(d, b) {
36
36
  }
37
37
 
38
38
  /**
39
- * @license Angular v5.2.2
39
+ * @license Angular v5.2.6
40
40
  * (c) 2010-2018 Google, Inc. https://angular.io/
41
41
  * License: MIT
42
42
  */
@@ -624,6 +624,11 @@ var TestingCompiler = /** @class */ (function (_super) {
624
624
  * This can be used for errors created by compileModule...
625
625
  */
626
626
  function (error) { throw unimplemented(); };
627
+ TestingCompiler.decorators = [
628
+ { type: _angular_core.Injectable },
629
+ ];
630
+ /** @nocollapse */
631
+ TestingCompiler.ctorParameters = function () { return []; };
627
632
  return TestingCompiler;
628
633
  }(_angular_core.Compiler));
629
634
  /**
@@ -957,7 +962,10 @@ var TestBed = /** @class */ (function () {
957
962
  fixture.destroy();
958
963
  }
959
964
  catch (e) {
960
- console.error('Error during cleanup of component', fixture.componentInstance);
965
+ console.error('Error during cleanup of component', {
966
+ component: fixture.componentInstance,
967
+ stacktrace: e,
968
+ });
961
969
  }
962
970
  });
963
971
  this._activeFixtures = [];
@@ -1 +1 @@
1
- {"version":3,"file":"core-testing.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../packages/core/esm5/testing/src/async.js","../../../packages/core/esm5/testing/src/component_fixture.js","../../../packages/core/esm5/testing/src/fake_async.js","../../../packages/core/esm5/testing/src/async_test_completer.js","../../../packages/core/esm5/testing/src/test_compiler.js","../../../packages/core/esm5/testing/src/test_bed.js","../../../packages/core/esm5/testing/src/before_each.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar _global = (typeof window === 'undefined' ? global : window);\n/**\n * Wraps a test function in an asynchronous test zone. The test will automatically\n * complete when all asynchronous calls within this zone are done. Can be used\n * to wrap an {@link inject} call.\n *\n * Example:\n *\n * ```\n * it('...', async(inject([AClass], (object) => {\n * object.doSomething.then(() => {\n * expect(...);\n * })\n * });\n * ```\n *\n * @stable\n */\nexport function async(fn) {\n // If we're running using the Jasmine test framework, adapt to call the 'done'\n // function when asynchronous activity is finished.\n if (_global.jasmine) {\n // Not using an arrow function to preserve context passed from call site\n return function (done) {\n if (!done) {\n // if we run beforeEach in @angular/core/testing/testing_internal then we get no done\n // fake it here and assume sync.\n done = function () { };\n done.fail = function (e) { throw e; };\n }\n runInTestZone(fn, this, done, function (err) {\n if (typeof err === 'string') {\n return done.fail(new Error(err));\n }\n else {\n done.fail(err);\n }\n });\n };\n }\n // Otherwise, return a promise which will resolve when asynchronous activity\n // is finished. This will be correctly consumed by the Mocha framework with\n // it('...', async(myFn)); or can be used in a custom framework.\n // Not using an arrow function to preserve context passed from call site\n return function () {\n var _this = this;\n return new Promise(function (finishCallback, failCallback) {\n runInTestZone(fn, _this, finishCallback, failCallback);\n });\n };\n}\nfunction runInTestZone(fn, context, finishCallback, failCallback) {\n var currentZone = Zone.current;\n var AsyncTestZoneSpec = Zone['AsyncTestZoneSpec'];\n if (AsyncTestZoneSpec === undefined) {\n throw new Error('AsyncTestZoneSpec is needed for the async() test helper but could not be found. ' +\n 'Please make sure that your environment includes zone.js/dist/async-test.js');\n }\n var ProxyZoneSpec = Zone['ProxyZoneSpec'];\n if (ProxyZoneSpec === undefined) {\n throw new Error('ProxyZoneSpec is needed for the async() test helper but could not be found. ' +\n 'Please make sure that your environment includes zone.js/dist/proxy.js');\n }\n var proxyZoneSpec = ProxyZoneSpec.get();\n ProxyZoneSpec.assertPresent();\n // We need to create the AsyncTestZoneSpec outside the ProxyZone.\n // If we do it in ProxyZone then we will get to infinite recursion.\n var proxyZone = Zone.current.getZoneWith('ProxyZoneSpec');\n var previousDelegate = proxyZoneSpec.getDelegate();\n proxyZone.parent.run(function () {\n var testZoneSpec = new AsyncTestZoneSpec(function () {\n // Need to restore the original zone.\n currentZone.run(function () {\n if (proxyZoneSpec.getDelegate() == testZoneSpec) {\n // Only reset the zone spec if it's sill this one. Otherwise, assume it's OK.\n proxyZoneSpec.setDelegate(previousDelegate);\n }\n finishCallback();\n });\n }, function (error) {\n // Need to restore the original zone.\n currentZone.run(function () {\n if (proxyZoneSpec.getDelegate() == testZoneSpec) {\n // Only reset the zone spec if it's sill this one. Otherwise, assume it's OK.\n proxyZoneSpec.setDelegate(previousDelegate);\n }\n failCallback(error);\n });\n }, 'test');\n proxyZoneSpec.setDelegate(testZoneSpec);\n });\n return Zone.current.runGuarded(fn, context);\n}\n//# sourceMappingURL=async.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { RendererFactory2, getDebugNode } from '@angular/core';\n/**\n * Fixture for debugging and testing a component.\n *\n * @stable\n */\nvar /**\n * Fixture for debugging and testing a component.\n *\n * @stable\n */\nComponentFixture = /** @class */ (function () {\n function ComponentFixture(componentRef, ngZone, _autoDetect) {\n var _this = this;\n this.componentRef = componentRef;\n this.ngZone = ngZone;\n this._autoDetect = _autoDetect;\n this._isStable = true;\n this._isDestroyed = false;\n this._resolve = null;\n this._promise = null;\n this._onUnstableSubscription = null;\n this._onStableSubscription = null;\n this._onMicrotaskEmptySubscription = null;\n this._onErrorSubscription = null;\n this.changeDetectorRef = componentRef.changeDetectorRef;\n this.elementRef = componentRef.location;\n this.debugElement = getDebugNode(this.elementRef.nativeElement);\n this.componentInstance = componentRef.instance;\n this.nativeElement = this.elementRef.nativeElement;\n this.componentRef = componentRef;\n this.ngZone = ngZone;\n if (ngZone) {\n // Create subscriptions outside the NgZone so that the callbacks run oustide\n // of NgZone.\n ngZone.runOutsideAngular(function () {\n _this._onUnstableSubscription =\n ngZone.onUnstable.subscribe({ next: function () { _this._isStable = false; } });\n _this._onMicrotaskEmptySubscription = ngZone.onMicrotaskEmpty.subscribe({\n next: function () {\n if (_this._autoDetect) {\n // Do a change detection run with checkNoChanges set to true to check\n // there are no changes on the second run.\n // Do a change detection run with checkNoChanges set to true to check\n // there are no changes on the second run.\n _this.detectChanges(true);\n }\n }\n });\n _this._onStableSubscription = ngZone.onStable.subscribe({\n next: function () {\n _this._isStable = true;\n // Check whether there is a pending whenStable() completer to resolve.\n if (_this._promise !== null) {\n // If so check whether there are no pending macrotasks before resolving.\n // Do this check in the next tick so that ngZone gets a chance to update the state of\n // pending macrotasks.\n scheduleMicroTask(function () {\n if (!ngZone.hasPendingMacrotasks) {\n if (_this._promise !== null) {\n _this._resolve(true);\n _this._resolve = null;\n _this._promise = null;\n }\n }\n });\n }\n }\n });\n _this._onErrorSubscription =\n ngZone.onError.subscribe({ next: function (error) { throw error; } });\n });\n }\n }\n ComponentFixture.prototype._tick = function (checkNoChanges) {\n this.changeDetectorRef.detectChanges();\n if (checkNoChanges) {\n this.checkNoChanges();\n }\n };\n /**\n * Trigger a change detection cycle for the component.\n */\n /**\n * Trigger a change detection cycle for the component.\n */\n ComponentFixture.prototype.detectChanges = /**\n * Trigger a change detection cycle for the component.\n */\n function (checkNoChanges) {\n var _this = this;\n if (checkNoChanges === void 0) { checkNoChanges = true; }\n if (this.ngZone != null) {\n // Run the change detection inside the NgZone so that any async tasks as part of the change\n // detection are captured by the zone and can be waited for in isStable.\n this.ngZone.run(function () { _this._tick(checkNoChanges); });\n }\n else {\n // Running without zone. Just do the change detection.\n this._tick(checkNoChanges);\n }\n };\n /**\n * Do a change detection run to make sure there were no changes.\n */\n /**\n * Do a change detection run to make sure there were no changes.\n */\n ComponentFixture.prototype.checkNoChanges = /**\n * Do a change detection run to make sure there were no changes.\n */\n function () { this.changeDetectorRef.checkNoChanges(); };\n /**\n * Set whether the fixture should autodetect changes.\n *\n * Also runs detectChanges once so that any existing change is detected.\n */\n /**\n * Set whether the fixture should autodetect changes.\n *\n * Also runs detectChanges once so that any existing change is detected.\n */\n ComponentFixture.prototype.autoDetectChanges = /**\n * Set whether the fixture should autodetect changes.\n *\n * Also runs detectChanges once so that any existing change is detected.\n */\n function (autoDetect) {\n if (autoDetect === void 0) { autoDetect = true; }\n if (this.ngZone == null) {\n throw new Error('Cannot call autoDetectChanges when ComponentFixtureNoNgZone is set');\n }\n this._autoDetect = autoDetect;\n this.detectChanges();\n };\n /**\n * Return whether the fixture is currently stable or has async tasks that have not been completed\n * yet.\n */\n /**\n * Return whether the fixture is currently stable or has async tasks that have not been completed\n * yet.\n */\n ComponentFixture.prototype.isStable = /**\n * Return whether the fixture is currently stable or has async tasks that have not been completed\n * yet.\n */\n function () { return this._isStable && !this.ngZone.hasPendingMacrotasks; };\n /**\n * Get a promise that resolves when the fixture is stable.\n *\n * This can be used to resume testing after events have triggered asynchronous activity or\n * asynchronous change detection.\n */\n /**\n * Get a promise that resolves when the fixture is stable.\n *\n * This can be used to resume testing after events have triggered asynchronous activity or\n * asynchronous change detection.\n */\n ComponentFixture.prototype.whenStable = /**\n * Get a promise that resolves when the fixture is stable.\n *\n * This can be used to resume testing after events have triggered asynchronous activity or\n * asynchronous change detection.\n */\n function () {\n var _this = this;\n if (this.isStable()) {\n return Promise.resolve(false);\n }\n else if (this._promise !== null) {\n return this._promise;\n }\n else {\n this._promise = new Promise(function (res) { _this._resolve = res; });\n return this._promise;\n }\n };\n ComponentFixture.prototype._getRenderer = function () {\n if (this._renderer === undefined) {\n this._renderer = this.componentRef.injector.get(RendererFactory2, null);\n }\n return this._renderer;\n };\n /**\n * Get a promise that resolves when the ui state is stable following animations.\n */\n /**\n * Get a promise that resolves when the ui state is stable following animations.\n */\n ComponentFixture.prototype.whenRenderingDone = /**\n * Get a promise that resolves when the ui state is stable following animations.\n */\n function () {\n var renderer = this._getRenderer();\n if (renderer && renderer.whenRenderingDone) {\n return renderer.whenRenderingDone();\n }\n return this.whenStable();\n };\n /**\n * Trigger component destruction.\n */\n /**\n * Trigger component destruction.\n */\n ComponentFixture.prototype.destroy = /**\n * Trigger component destruction.\n */\n function () {\n if (!this._isDestroyed) {\n this.componentRef.destroy();\n if (this._onUnstableSubscription != null) {\n this._onUnstableSubscription.unsubscribe();\n this._onUnstableSubscription = null;\n }\n if (this._onStableSubscription != null) {\n this._onStableSubscription.unsubscribe();\n this._onStableSubscription = null;\n }\n if (this._onMicrotaskEmptySubscription != null) {\n this._onMicrotaskEmptySubscription.unsubscribe();\n this._onMicrotaskEmptySubscription = null;\n }\n if (this._onErrorSubscription != null) {\n this._onErrorSubscription.unsubscribe();\n this._onErrorSubscription = null;\n }\n this._isDestroyed = true;\n }\n };\n return ComponentFixture;\n}());\n/**\n * Fixture for debugging and testing a component.\n *\n * @stable\n */\nexport { ComponentFixture };\nfunction scheduleMicroTask(fn) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n//# sourceMappingURL=component_fixture.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar FakeAsyncTestZoneSpec = Zone['FakeAsyncTestZoneSpec'];\nvar ProxyZoneSpec = Zone['ProxyZoneSpec'];\nvar _fakeAsyncTestZoneSpec = null;\n/**\n * Clears out the shared fake async zone for a test.\n * To be called in a global `beforeEach`.\n *\n * @experimental\n */\nexport function resetFakeAsyncZone() {\n _fakeAsyncTestZoneSpec = null;\n ProxyZoneSpec.assertPresent().resetDelegate();\n}\nvar _inFakeAsyncCall = false;\n/**\n * Wraps a function to be executed in the fakeAsync zone:\n * - microtasks are manually executed by calling `flushMicrotasks()`,\n * - timers are synchronous, `tick()` simulates the asynchronous passage of time.\n *\n * If there are any pending timers at the end of the function, an exception will be thrown.\n *\n * Can be used to wrap inject() calls.\n *\n * ## Example\n *\n * {@example core/testing/ts/fake_async.ts region='basic'}\n *\n * @param fn\n * @returns The function wrapped to be executed in the fakeAsync zone\n *\n * @experimental\n */\nexport function fakeAsync(fn) {\n // Not using an arrow function to preserve context passed from call site\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var proxyZoneSpec = ProxyZoneSpec.assertPresent();\n if (_inFakeAsyncCall) {\n throw new Error('fakeAsync() calls can not be nested');\n }\n _inFakeAsyncCall = true;\n try {\n if (!_fakeAsyncTestZoneSpec) {\n if (proxyZoneSpec.getDelegate() instanceof FakeAsyncTestZoneSpec) {\n throw new Error('fakeAsync() calls can not be nested');\n }\n _fakeAsyncTestZoneSpec = new FakeAsyncTestZoneSpec();\n }\n var res = void 0;\n var lastProxyZoneSpec = proxyZoneSpec.getDelegate();\n proxyZoneSpec.setDelegate(_fakeAsyncTestZoneSpec);\n try {\n res = fn.apply(this, args);\n flushMicrotasks();\n }\n finally {\n proxyZoneSpec.setDelegate(lastProxyZoneSpec);\n }\n if (_fakeAsyncTestZoneSpec.pendingPeriodicTimers.length > 0) {\n throw new Error(_fakeAsyncTestZoneSpec.pendingPeriodicTimers.length + \" \" +\n \"periodic timer(s) still in the queue.\");\n }\n if (_fakeAsyncTestZoneSpec.pendingTimers.length > 0) {\n throw new Error(_fakeAsyncTestZoneSpec.pendingTimers.length + \" timer(s) still in the queue.\");\n }\n return res;\n }\n finally {\n _inFakeAsyncCall = false;\n resetFakeAsyncZone();\n }\n };\n}\nfunction _getFakeAsyncZoneSpec() {\n if (_fakeAsyncTestZoneSpec == null) {\n throw new Error('The code should be running in the fakeAsync zone to call this function');\n }\n return _fakeAsyncTestZoneSpec;\n}\n/**\n * Simulates the asynchronous passage of time for the timers in the fakeAsync zone.\n *\n * The microtasks queue is drained at the very start of this function and after any timer callback\n * has been executed.\n *\n * ## Example\n *\n * {@example core/testing/ts/fake_async.ts region='basic'}\n *\n * @experimental\n */\nexport function tick(millis) {\n if (millis === void 0) { millis = 0; }\n _getFakeAsyncZoneSpec().tick(millis);\n}\n/**\n * Simulates the asynchronous passage of time for the timers in the fakeAsync zone by\n * draining the macrotask queue until it is empty. The returned value is the milliseconds\n * of time that would have been elapsed.\n *\n * @param maxTurns\n * @returns The simulated time elapsed, in millis.\n *\n * @experimental\n */\nexport function flush(maxTurns) {\n return _getFakeAsyncZoneSpec().flush(maxTurns);\n}\n/**\n * Discard all remaining periodic tasks.\n *\n * @experimental\n */\nexport function discardPeriodicTasks() {\n var zoneSpec = _getFakeAsyncZoneSpec();\n var pendingTimers = zoneSpec.pendingPeriodicTimers;\n zoneSpec.pendingPeriodicTimers.length = 0;\n}\n/**\n * Flush any pending microtasks.\n *\n * @experimental\n */\nexport function flushMicrotasks() {\n _getFakeAsyncZoneSpec().flushMicrotasks();\n}\n//# sourceMappingURL=fake_async.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injectable completer that allows signaling completion of an asynchronous test. Used internally.\n */\nvar /**\n * Injectable completer that allows signaling completion of an asynchronous test. Used internally.\n */\nAsyncTestCompleter = /** @class */ (function () {\n function AsyncTestCompleter() {\n var _this = this;\n this._promise = new Promise(function (res, rej) {\n _this._resolve = res;\n _this._reject = rej;\n });\n }\n AsyncTestCompleter.prototype.done = function (value) { this._resolve(value); };\n AsyncTestCompleter.prototype.fail = function (error, stackTrace) { this._reject(error); };\n Object.defineProperty(AsyncTestCompleter.prototype, \"promise\", {\n get: function () { return this._promise; },\n enumerable: true,\n configurable: true\n });\n return AsyncTestCompleter;\n}());\n/**\n * Injectable completer that allows signaling completion of an asynchronous test. Used internally.\n */\nexport { AsyncTestCompleter };\n//# sourceMappingURL=async_test_completer.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as tslib_1 from \"tslib\";\nimport { Compiler } from '@angular/core';\nfunction unimplemented() {\n throw Error('unimplemented');\n}\n/**\n * Special interface to the compiler only used by testing\n *\n * @experimental\n */\nvar /**\n * Special interface to the compiler only used by testing\n *\n * @experimental\n */\nTestingCompiler = /** @class */ (function (_super) {\n tslib_1.__extends(TestingCompiler, _super);\n function TestingCompiler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TestingCompiler.prototype, \"injector\", {\n get: function () { throw unimplemented(); },\n enumerable: true,\n configurable: true\n });\n TestingCompiler.prototype.overrideModule = function (module, overrides) {\n throw unimplemented();\n };\n TestingCompiler.prototype.overrideDirective = function (directive, overrides) {\n throw unimplemented();\n };\n TestingCompiler.prototype.overrideComponent = function (component, overrides) {\n throw unimplemented();\n };\n TestingCompiler.prototype.overridePipe = function (directive, overrides) {\n throw unimplemented();\n };\n /**\n * Allows to pass the compile summary from AOT compilation to the JIT compiler,\n * so that it can use the code generated by AOT.\n */\n /**\n * Allows to pass the compile summary from AOT compilation to the JIT compiler,\n * so that it can use the code generated by AOT.\n */\n TestingCompiler.prototype.loadAotSummaries = /**\n * Allows to pass the compile summary from AOT compilation to the JIT compiler,\n * so that it can use the code generated by AOT.\n */\n function (summaries) { throw unimplemented(); };\n /**\n * Gets the component factory for the given component.\n * This assumes that the component has been compiled before calling this call using\n * `compileModuleAndAllComponents*`.\n */\n /**\n * Gets the component factory for the given component.\n * This assumes that the component has been compiled before calling this call using\n * `compileModuleAndAllComponents*`.\n */\n TestingCompiler.prototype.getComponentFactory = /**\n * Gets the component factory for the given component.\n * This assumes that the component has been compiled before calling this call using\n * `compileModuleAndAllComponents*`.\n */\n function (component) { throw unimplemented(); };\n /**\n * Returns the component type that is stored in the given error.\n * This can be used for errors created by compileModule...\n */\n /**\n * Returns the component type that is stored in the given error.\n * This can be used for errors created by compileModule...\n */\n TestingCompiler.prototype.getComponentFromError = /**\n * Returns the component type that is stored in the given error.\n * This can be used for errors created by compileModule...\n */\n function (error) { throw unimplemented(); };\n return TestingCompiler;\n}(Compiler));\n/**\n * Special interface to the compiler only used by testing\n *\n * @experimental\n */\nexport { TestingCompiler };\n/**\n * A factory for creating a Compiler\n *\n * @experimental\n */\nvar /**\n * A factory for creating a Compiler\n *\n * @experimental\n */\nTestingCompilerFactory = /** @class */ (function () {\n function TestingCompilerFactory() {\n }\n return TestingCompilerFactory;\n}());\n/**\n * A factory for creating a Compiler\n *\n * @experimental\n */\nexport { TestingCompilerFactory };\n//# sourceMappingURL=test_compiler.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { ApplicationInitStatus, Component, InjectionToken, Injector, NgModule, NgZone, Optional, SkipSelf, ɵclearOverrides as clearOverrides, ɵoverrideComponentView as overrideComponentView, ɵoverrideProvider as overrideProvider, ɵstringify as stringify } from '@angular/core';\nimport { AsyncTestCompleter } from './async_test_completer';\nimport { ComponentFixture } from './component_fixture';\nimport { TestingCompilerFactory } from './test_compiler';\nvar UNDEFINED = new Object();\n/**\n * An abstract class for inserting the root test component element in a platform independent way.\n *\n * @experimental\n */\nvar /**\n * An abstract class for inserting the root test component element in a platform independent way.\n *\n * @experimental\n */\nTestComponentRenderer = /** @class */ (function () {\n function TestComponentRenderer() {\n }\n TestComponentRenderer.prototype.insertRootElement = function (rootElementId) { };\n return TestComponentRenderer;\n}());\n/**\n * An abstract class for inserting the root test component element in a platform independent way.\n *\n * @experimental\n */\nexport { TestComponentRenderer };\nvar _nextRootElementId = 0;\n/**\n * @experimental\n */\nexport var ComponentFixtureAutoDetect = new InjectionToken('ComponentFixtureAutoDetect');\n/**\n * @experimental\n */\nexport var ComponentFixtureNoNgZone = new InjectionToken('ComponentFixtureNoNgZone');\n/**\n * @whatItDoes Configures and initializes environment for unit testing and provides methods for\n * creating components and services in unit tests.\n * @description\n *\n * TestBed is the primary api for writing unit tests for Angular applications and libraries.\n *\n * @stable\n */\nvar /**\n * @whatItDoes Configures and initializes environment for unit testing and provides methods for\n * creating components and services in unit tests.\n * @description\n *\n * TestBed is the primary api for writing unit tests for Angular applications and libraries.\n *\n * @stable\n */\nTestBed = /** @class */ (function () {\n function TestBed() {\n this._instantiated = false;\n this._compiler = null;\n this._moduleRef = null;\n this._moduleFactory = null;\n this._compilerOptions = [];\n this._moduleOverrides = [];\n this._componentOverrides = [];\n this._directiveOverrides = [];\n this._pipeOverrides = [];\n this._providers = [];\n this._declarations = [];\n this._imports = [];\n this._schemas = [];\n this._activeFixtures = [];\n this._testEnvAotSummaries = function () { return []; };\n this._aotSummaries = [];\n this._templateOverrides = [];\n this.platform = null;\n this.ngModule = null;\n }\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n TestBed.initTestEnvironment = /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n function (ngModule, platform, aotSummaries) {\n var testBed = getTestBed();\n testBed.initTestEnvironment(ngModule, platform, aotSummaries);\n return testBed;\n };\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n TestBed.resetTestEnvironment = /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n function () { getTestBed().resetTestEnvironment(); };\n TestBed.resetTestingModule = function () {\n getTestBed().resetTestingModule();\n return TestBed;\n };\n /**\n * Allows overriding default compiler providers and settings\n * which are defined in test_injector.js\n */\n /**\n * Allows overriding default compiler providers and settings\n * which are defined in test_injector.js\n */\n TestBed.configureCompiler = /**\n * Allows overriding default compiler providers and settings\n * which are defined in test_injector.js\n */\n function (config) {\n getTestBed().configureCompiler(config);\n return TestBed;\n };\n /**\n * Allows overriding default providers, directives, pipes, modules of the test injector,\n * which are defined in test_injector.js\n */\n /**\n * Allows overriding default providers, directives, pipes, modules of the test injector,\n * which are defined in test_injector.js\n */\n TestBed.configureTestingModule = /**\n * Allows overriding default providers, directives, pipes, modules of the test injector,\n * which are defined in test_injector.js\n */\n function (moduleDef) {\n getTestBed().configureTestingModule(moduleDef);\n return TestBed;\n };\n /**\n * Compile components with a `templateUrl` for the test's NgModule.\n * It is necessary to call this function\n * as fetching urls is asynchronous.\n */\n /**\n * Compile components with a `templateUrl` for the test's NgModule.\n * It is necessary to call this function\n * as fetching urls is asynchronous.\n */\n TestBed.compileComponents = /**\n * Compile components with a `templateUrl` for the test's NgModule.\n * It is necessary to call this function\n * as fetching urls is asynchronous.\n */\n function () { return getTestBed().compileComponents(); };\n TestBed.overrideModule = function (ngModule, override) {\n getTestBed().overrideModule(ngModule, override);\n return TestBed;\n };\n TestBed.overrideComponent = function (component, override) {\n getTestBed().overrideComponent(component, override);\n return TestBed;\n };\n TestBed.overrideDirective = function (directive, override) {\n getTestBed().overrideDirective(directive, override);\n return TestBed;\n };\n TestBed.overridePipe = function (pipe, override) {\n getTestBed().overridePipe(pipe, override);\n return TestBed;\n };\n TestBed.overrideTemplate = function (component, template) {\n getTestBed().overrideComponent(component, { set: { template: template, templateUrl: (null) } });\n return TestBed;\n };\n /**\n * Overrides the template of the given component, compiling the template\n * in the context of the TestingModule.\n *\n * Note: This works for JIT and AOTed components as well.\n */\n /**\n * Overrides the template of the given component, compiling the template\n * in the context of the TestingModule.\n *\n * Note: This works for JIT and AOTed components as well.\n */\n TestBed.overrideTemplateUsingTestingModule = /**\n * Overrides the template of the given component, compiling the template\n * in the context of the TestingModule.\n *\n * Note: This works for JIT and AOTed components as well.\n */\n function (component, template) {\n getTestBed().overrideTemplateUsingTestingModule(component, template);\n return TestBed;\n };\n TestBed.overrideProvider = function (token, provider) {\n getTestBed().overrideProvider(token, provider);\n return TestBed;\n };\n TestBed.deprecatedOverrideProvider = function (token, provider) {\n getTestBed().deprecatedOverrideProvider(token, provider);\n return TestBed;\n };\n TestBed.get = function (token, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }\n return getTestBed().get(token, notFoundValue);\n };\n TestBed.createComponent = function (component) {\n return getTestBed().createComponent(component);\n };\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n TestBed.prototype.initTestEnvironment = /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n function (ngModule, platform, aotSummaries) {\n if (this.platform || this.ngModule) {\n throw new Error('Cannot set base providers because it has already been called');\n }\n this.platform = platform;\n this.ngModule = ngModule;\n if (aotSummaries) {\n this._testEnvAotSummaries = aotSummaries;\n }\n };\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n TestBed.prototype.resetTestEnvironment = /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n function () {\n this.resetTestingModule();\n this.platform = (null);\n this.ngModule = (null);\n this._testEnvAotSummaries = function () { return []; };\n };\n TestBed.prototype.resetTestingModule = function () {\n clearOverrides();\n this._aotSummaries = [];\n this._templateOverrides = [];\n this._compiler = (null);\n this._moduleOverrides = [];\n this._componentOverrides = [];\n this._directiveOverrides = [];\n this._pipeOverrides = [];\n this._moduleRef = (null);\n this._moduleFactory = (null);\n this._compilerOptions = [];\n this._providers = [];\n this._declarations = [];\n this._imports = [];\n this._schemas = [];\n this._instantiated = false;\n this._activeFixtures.forEach(function (fixture) {\n try {\n fixture.destroy();\n }\n catch (e) {\n console.error('Error during cleanup of component', fixture.componentInstance);\n }\n });\n this._activeFixtures = [];\n };\n TestBed.prototype.configureCompiler = function (config) {\n this._assertNotInstantiated('TestBed.configureCompiler', 'configure the compiler');\n this._compilerOptions.push(config);\n };\n TestBed.prototype.configureTestingModule = function (moduleDef) {\n this._assertNotInstantiated('TestBed.configureTestingModule', 'configure the test module');\n if (moduleDef.providers) {\n (_a = this._providers).push.apply(_a, moduleDef.providers);\n }\n if (moduleDef.declarations) {\n (_b = this._declarations).push.apply(_b, moduleDef.declarations);\n }\n if (moduleDef.imports) {\n (_c = this._imports).push.apply(_c, moduleDef.imports);\n }\n if (moduleDef.schemas) {\n (_d = this._schemas).push.apply(_d, moduleDef.schemas);\n }\n if (moduleDef.aotSummaries) {\n this._aotSummaries.push(moduleDef.aotSummaries);\n }\n var _a, _b, _c, _d;\n };\n TestBed.prototype.compileComponents = function () {\n var _this = this;\n if (this._moduleFactory || this._instantiated) {\n return Promise.resolve(null);\n }\n var moduleType = this._createCompilerAndModule();\n return this._compiler.compileModuleAndAllComponentsAsync(moduleType)\n .then(function (moduleAndComponentFactories) {\n _this._moduleFactory = moduleAndComponentFactories.ngModuleFactory;\n });\n };\n TestBed.prototype._initIfNeeded = function () {\n if (this._instantiated) {\n return;\n }\n if (!this._moduleFactory) {\n try {\n var moduleType = this._createCompilerAndModule();\n this._moduleFactory =\n this._compiler.compileModuleAndAllComponentsSync(moduleType).ngModuleFactory;\n }\n catch (e) {\n var errorCompType = this._compiler.getComponentFromError(e);\n if (errorCompType) {\n throw new Error(\"This test module uses the component \" + stringify(errorCompType) + \" which is using a \\\"templateUrl\\\" or \\\"styleUrls\\\", but they were never compiled. \" +\n \"Please call \\\"TestBed.compileComponents\\\" before your test.\");\n }\n else {\n throw e;\n }\n }\n }\n for (var _i = 0, _a = this._templateOverrides; _i < _a.length; _i++) {\n var _b = _a[_i], component = _b.component, templateOf = _b.templateOf;\n var compFactory = this._compiler.getComponentFactory(templateOf);\n overrideComponentView(component, compFactory);\n }\n var ngZone = new NgZone({ enableLongStackTrace: true });\n var providers = [{ provide: NgZone, useValue: ngZone }];\n var ngZoneInjector = Injector.create({\n providers: providers,\n parent: this.platform.injector,\n name: this._moduleFactory.moduleType.name\n });\n this._moduleRef = this._moduleFactory.create(ngZoneInjector);\n // ApplicationInitStatus.runInitializers() is marked @internal to core. So casting to any\n // before accessing it.\n // ApplicationInitStatus.runInitializers() is marked @internal to core. So casting to any\n // before accessing it.\n this._moduleRef.injector.get(ApplicationInitStatus).runInitializers();\n this._instantiated = true;\n };\n TestBed.prototype._createCompilerAndModule = function () {\n var _this = this;\n var providers = this._providers.concat([{ provide: TestBed, useValue: this }]);\n var declarations = this._declarations.concat(this._templateOverrides.map(function (entry) { return entry.templateOf; }));\n var imports = [this.ngModule, this._imports];\n var schemas = this._schemas;\n var DynamicTestModule = /** @class */ (function () {\n function DynamicTestModule() {\n }\n DynamicTestModule.decorators = [\n { type: NgModule, args: [{ providers: providers, declarations: declarations, imports: imports, schemas: schemas },] },\n ];\n /** @nocollapse */\n DynamicTestModule.ctorParameters = function () { return []; };\n return DynamicTestModule;\n }());\n var compilerFactory = this.platform.injector.get(TestingCompilerFactory);\n this._compiler = compilerFactory.createTestingCompiler(this._compilerOptions);\n for (var _i = 0, _a = [this._testEnvAotSummaries].concat(this._aotSummaries); _i < _a.length; _i++) {\n var summary = _a[_i];\n this._compiler.loadAotSummaries(summary);\n }\n this._moduleOverrides.forEach(function (entry) { return _this._compiler.overrideModule(entry[0], entry[1]); });\n this._componentOverrides.forEach(function (entry) { return _this._compiler.overrideComponent(entry[0], entry[1]); });\n this._directiveOverrides.forEach(function (entry) { return _this._compiler.overrideDirective(entry[0], entry[1]); });\n this._pipeOverrides.forEach(function (entry) { return _this._compiler.overridePipe(entry[0], entry[1]); });\n return DynamicTestModule;\n };\n TestBed.prototype._assertNotInstantiated = function (methodName, methodDescription) {\n if (this._instantiated) {\n throw new Error(\"Cannot \" + methodDescription + \" when the test module has already been instantiated. \" +\n (\"Make sure you are not using `inject` before `\" + methodName + \"`.\"));\n }\n };\n TestBed.prototype.get = function (token, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }\n this._initIfNeeded();\n if (token === TestBed) {\n return this;\n }\n // Tests can inject things from the ng module and from the compiler,\n // but the ng module can't inject things from the compiler and vice versa.\n var result = this._moduleRef.injector.get(token, UNDEFINED);\n return result === UNDEFINED ? this._compiler.injector.get(token, notFoundValue) : result;\n };\n TestBed.prototype.execute = function (tokens, fn, context) {\n var _this = this;\n this._initIfNeeded();\n var params = tokens.map(function (t) { return _this.get(t); });\n return fn.apply(context, params);\n };\n TestBed.prototype.overrideModule = function (ngModule, override) {\n this._assertNotInstantiated('overrideModule', 'override module metadata');\n this._moduleOverrides.push([ngModule, override]);\n };\n TestBed.prototype.overrideComponent = function (component, override) {\n this._assertNotInstantiated('overrideComponent', 'override component metadata');\n this._componentOverrides.push([component, override]);\n };\n TestBed.prototype.overrideDirective = function (directive, override) {\n this._assertNotInstantiated('overrideDirective', 'override directive metadata');\n this._directiveOverrides.push([directive, override]);\n };\n TestBed.prototype.overridePipe = function (pipe, override) {\n this._assertNotInstantiated('overridePipe', 'override pipe metadata');\n this._pipeOverrides.push([pipe, override]);\n };\n TestBed.prototype.overrideProvider = function (token, provider) {\n this.overrideProviderImpl(token, provider);\n };\n TestBed.prototype.deprecatedOverrideProvider = function (token, provider) {\n this.overrideProviderImpl(token, provider, /* deprecated */ /* deprecated */ true);\n };\n TestBed.prototype.overrideProviderImpl = function (token, provider, deprecated) {\n if (deprecated === void 0) { deprecated = false; }\n var flags = 0;\n var value;\n if (provider.useFactory) {\n flags |= 1024 /* TypeFactoryProvider */;\n value = provider.useFactory;\n }\n else {\n flags |= 256 /* TypeValueProvider */;\n value = provider.useValue;\n }\n var deps = (provider.deps || []).map(function (dep) {\n var depFlags = 0 /* None */;\n var depToken;\n if (Array.isArray(dep)) {\n dep.forEach(function (entry) {\n if (entry instanceof Optional) {\n depFlags |= 2 /* Optional */;\n }\n else if (entry instanceof SkipSelf) {\n depFlags |= 1 /* SkipSelf */;\n }\n else {\n depToken = entry;\n }\n });\n }\n else {\n depToken = dep;\n }\n return [depFlags, depToken];\n });\n overrideProvider({ token: token, flags: flags, deps: deps, value: value, deprecatedBehavior: deprecated });\n };\n TestBed.prototype.overrideTemplateUsingTestingModule = function (component, template) {\n this._assertNotInstantiated('overrideTemplateUsingTestingModule', 'override template');\n var OverrideComponent = /** @class */ (function () {\n function OverrideComponent() {\n }\n OverrideComponent.decorators = [\n { type: Component, args: [{ selector: 'empty', template: template },] },\n ];\n /** @nocollapse */\n OverrideComponent.ctorParameters = function () { return []; };\n return OverrideComponent;\n }());\n this._templateOverrides.push({ component: component, templateOf: OverrideComponent });\n };\n TestBed.prototype.createComponent = function (component) {\n var _this = this;\n this._initIfNeeded();\n var componentFactory = this._compiler.getComponentFactory(component);\n if (!componentFactory) {\n throw new Error(\"Cannot create the component \" + stringify(component) + \" as it was not imported into the testing module!\");\n }\n var noNgZone = this.get(ComponentFixtureNoNgZone, false);\n var autoDetect = this.get(ComponentFixtureAutoDetect, false);\n var ngZone = noNgZone ? null : this.get(NgZone, null);\n var testComponentRenderer = this.get(TestComponentRenderer);\n var rootElId = \"root\" + _nextRootElementId++;\n testComponentRenderer.insertRootElement(rootElId);\n var initComponent = function () {\n var componentRef = componentFactory.create(Injector.NULL, [], \"#\" + rootElId, _this._moduleRef);\n return new ComponentFixture(componentRef, ngZone, autoDetect);\n };\n var fixture = !ngZone ? initComponent() : ngZone.run(initComponent);\n this._activeFixtures.push(fixture);\n return fixture;\n };\n return TestBed;\n}());\n/**\n * @whatItDoes Configures and initializes environment for unit testing and provides methods for\n * creating components and services in unit tests.\n * @description\n *\n * TestBed is the primary api for writing unit tests for Angular applications and libraries.\n *\n * @stable\n */\nexport { TestBed };\nvar _testBed = (null);\n/**\n * @experimental\n */\nexport function getTestBed() {\n return _testBed = _testBed || new TestBed();\n}\n/**\n * Allows injecting dependencies in `beforeEach()` and `it()`.\n *\n * Example:\n *\n * ```\n * beforeEach(inject([Dependency, AClass], (dep, object) => {\n * // some code that uses `dep` and `object`\n * // ...\n * }));\n *\n * it('...', inject([AClass], (object) => {\n * object.doSomething();\n * expect(...);\n * })\n * ```\n *\n * Notes:\n * - inject is currently a function because of some Traceur limitation the syntax should\n * eventually\n * becomes `it('...', @Inject (object: AClass, async: AsyncTestCompleter) => { ... });`\n *\n * @stable\n */\nexport function inject(tokens, fn) {\n var testBed = getTestBed();\n if (tokens.indexOf(AsyncTestCompleter) >= 0) {\n // Not using an arrow function to preserve context passed from call site\n return function () {\n var _this = this;\n // Return an async test method that returns a Promise if AsyncTestCompleter is one of\n // the injected tokens.\n return testBed.compileComponents().then(function () {\n var completer = testBed.get(AsyncTestCompleter);\n testBed.execute(tokens, fn, _this);\n return completer.promise;\n });\n };\n }\n else {\n // Not using an arrow function to preserve context passed from call site\n return function () { return testBed.execute(tokens, fn, this); };\n }\n}\n/**\n * @experimental\n */\nvar /**\n * @experimental\n */\nInjectSetupWrapper = /** @class */ (function () {\n function InjectSetupWrapper(_moduleDef) {\n this._moduleDef = _moduleDef;\n }\n InjectSetupWrapper.prototype._addModule = function () {\n var moduleDef = this._moduleDef();\n if (moduleDef) {\n getTestBed().configureTestingModule(moduleDef);\n }\n };\n InjectSetupWrapper.prototype.inject = function (tokens, fn) {\n var self = this;\n // Not using an arrow function to preserve context passed from call site\n return function () {\n self._addModule();\n return inject(tokens, fn).call(this);\n };\n };\n return InjectSetupWrapper;\n}());\n/**\n * @experimental\n */\nexport { InjectSetupWrapper };\nexport function withModule(moduleDef, fn) {\n if (fn) {\n // Not using an arrow function to preserve context passed from call site\n return function () {\n var testBed = getTestBed();\n if (moduleDef) {\n testBed.configureTestingModule(moduleDef);\n }\n return fn.apply(this);\n };\n }\n return new InjectSetupWrapper(function () { return moduleDef; });\n}\n//# sourceMappingURL=test_bed.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { resetFakeAsyncZone } from './fake_async';\nimport { TestBed } from './test_bed';\nvar _global = (typeof window === 'undefined' ? global : window);\n// Reset the test providers and the fake async zone before each test.\nif (_global.beforeEach) {\n _global.beforeEach(function () {\n TestBed.resetTestingModule();\n resetFakeAsyncZone();\n });\n}\n// TODO(juliemr): remove this, only used because we need to export something to have compilation\n// work.\nexport var __core_private_testing_placeholder__ = '';\n//# sourceMappingURL=before_each.js.map"],"names":["getDebugNode","RendererFactory2","tslib_1.__extends","Compiler","InjectionToken","Injector","clearOverrides","stringify","overrideComponentView","NgZone","ApplicationInitStatus","NgModule","Optional","SkipSelf","overrideProvider","Component","_global"],"mappings":"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"}
1
+ {"version":3,"file":"core-testing.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../packages/core/esm5/testing/src/async.js","../../../packages/core/esm5/testing/src/component_fixture.js","../../../packages/core/esm5/testing/src/fake_async.js","../../../packages/core/esm5/testing/src/async_test_completer.js","../../../packages/core/esm5/testing/src/test_compiler.js","../../../packages/core/esm5/testing/src/test_bed.js","../../../packages/core/esm5/testing/src/before_each.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar _global = (typeof window === 'undefined' ? global : window);\n/**\n * Wraps a test function in an asynchronous test zone. The test will automatically\n * complete when all asynchronous calls within this zone are done. Can be used\n * to wrap an {@link inject} call.\n *\n * Example:\n *\n * ```\n * it('...', async(inject([AClass], (object) => {\n * object.doSomething.then(() => {\n * expect(...);\n * })\n * });\n * ```\n *\n * @stable\n */\nexport function async(fn) {\n // If we're running using the Jasmine test framework, adapt to call the 'done'\n // function when asynchronous activity is finished.\n if (_global.jasmine) {\n // Not using an arrow function to preserve context passed from call site\n return function (done) {\n if (!done) {\n // if we run beforeEach in @angular/core/testing/testing_internal then we get no done\n // fake it here and assume sync.\n done = function () { };\n done.fail = function (e) { throw e; };\n }\n runInTestZone(fn, this, done, function (err) {\n if (typeof err === 'string') {\n return done.fail(new Error(err));\n }\n else {\n done.fail(err);\n }\n });\n };\n }\n // Otherwise, return a promise which will resolve when asynchronous activity\n // is finished. This will be correctly consumed by the Mocha framework with\n // it('...', async(myFn)); or can be used in a custom framework.\n // Not using an arrow function to preserve context passed from call site\n return function () {\n var _this = this;\n return new Promise(function (finishCallback, failCallback) {\n runInTestZone(fn, _this, finishCallback, failCallback);\n });\n };\n}\nfunction runInTestZone(fn, context, finishCallback, failCallback) {\n var currentZone = Zone.current;\n var AsyncTestZoneSpec = Zone['AsyncTestZoneSpec'];\n if (AsyncTestZoneSpec === undefined) {\n throw new Error('AsyncTestZoneSpec is needed for the async() test helper but could not be found. ' +\n 'Please make sure that your environment includes zone.js/dist/async-test.js');\n }\n var ProxyZoneSpec = Zone['ProxyZoneSpec'];\n if (ProxyZoneSpec === undefined) {\n throw new Error('ProxyZoneSpec is needed for the async() test helper but could not be found. ' +\n 'Please make sure that your environment includes zone.js/dist/proxy.js');\n }\n var proxyZoneSpec = ProxyZoneSpec.get();\n ProxyZoneSpec.assertPresent();\n // We need to create the AsyncTestZoneSpec outside the ProxyZone.\n // If we do it in ProxyZone then we will get to infinite recursion.\n var proxyZone = Zone.current.getZoneWith('ProxyZoneSpec');\n var previousDelegate = proxyZoneSpec.getDelegate();\n proxyZone.parent.run(function () {\n var testZoneSpec = new AsyncTestZoneSpec(function () {\n // Need to restore the original zone.\n currentZone.run(function () {\n if (proxyZoneSpec.getDelegate() == testZoneSpec) {\n // Only reset the zone spec if it's sill this one. Otherwise, assume it's OK.\n proxyZoneSpec.setDelegate(previousDelegate);\n }\n finishCallback();\n });\n }, function (error) {\n // Need to restore the original zone.\n currentZone.run(function () {\n if (proxyZoneSpec.getDelegate() == testZoneSpec) {\n // Only reset the zone spec if it's sill this one. Otherwise, assume it's OK.\n proxyZoneSpec.setDelegate(previousDelegate);\n }\n failCallback(error);\n });\n }, 'test');\n proxyZoneSpec.setDelegate(testZoneSpec);\n });\n return Zone.current.runGuarded(fn, context);\n}\n//# sourceMappingURL=async.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { RendererFactory2, getDebugNode } from '@angular/core';\n/**\n * Fixture for debugging and testing a component.\n *\n * @stable\n */\nvar /**\n * Fixture for debugging and testing a component.\n *\n * @stable\n */\nComponentFixture = /** @class */ (function () {\n function ComponentFixture(componentRef, ngZone, _autoDetect) {\n var _this = this;\n this.componentRef = componentRef;\n this.ngZone = ngZone;\n this._autoDetect = _autoDetect;\n this._isStable = true;\n this._isDestroyed = false;\n this._resolve = null;\n this._promise = null;\n this._onUnstableSubscription = null;\n this._onStableSubscription = null;\n this._onMicrotaskEmptySubscription = null;\n this._onErrorSubscription = null;\n this.changeDetectorRef = componentRef.changeDetectorRef;\n this.elementRef = componentRef.location;\n this.debugElement = getDebugNode(this.elementRef.nativeElement);\n this.componentInstance = componentRef.instance;\n this.nativeElement = this.elementRef.nativeElement;\n this.componentRef = componentRef;\n this.ngZone = ngZone;\n if (ngZone) {\n // Create subscriptions outside the NgZone so that the callbacks run oustide\n // of NgZone.\n ngZone.runOutsideAngular(function () {\n _this._onUnstableSubscription =\n ngZone.onUnstable.subscribe({ next: function () { _this._isStable = false; } });\n _this._onMicrotaskEmptySubscription = ngZone.onMicrotaskEmpty.subscribe({\n next: function () {\n if (_this._autoDetect) {\n // Do a change detection run with checkNoChanges set to true to check\n // there are no changes on the second run.\n // Do a change detection run with checkNoChanges set to true to check\n // there are no changes on the second run.\n _this.detectChanges(true);\n }\n }\n });\n _this._onStableSubscription = ngZone.onStable.subscribe({\n next: function () {\n _this._isStable = true;\n // Check whether there is a pending whenStable() completer to resolve.\n if (_this._promise !== null) {\n // If so check whether there are no pending macrotasks before resolving.\n // Do this check in the next tick so that ngZone gets a chance to update the state of\n // pending macrotasks.\n scheduleMicroTask(function () {\n if (!ngZone.hasPendingMacrotasks) {\n if (_this._promise !== null) {\n _this._resolve(true);\n _this._resolve = null;\n _this._promise = null;\n }\n }\n });\n }\n }\n });\n _this._onErrorSubscription =\n ngZone.onError.subscribe({ next: function (error) { throw error; } });\n });\n }\n }\n ComponentFixture.prototype._tick = function (checkNoChanges) {\n this.changeDetectorRef.detectChanges();\n if (checkNoChanges) {\n this.checkNoChanges();\n }\n };\n /**\n * Trigger a change detection cycle for the component.\n */\n /**\n * Trigger a change detection cycle for the component.\n */\n ComponentFixture.prototype.detectChanges = /**\n * Trigger a change detection cycle for the component.\n */\n function (checkNoChanges) {\n var _this = this;\n if (checkNoChanges === void 0) { checkNoChanges = true; }\n if (this.ngZone != null) {\n // Run the change detection inside the NgZone so that any async tasks as part of the change\n // detection are captured by the zone and can be waited for in isStable.\n this.ngZone.run(function () { _this._tick(checkNoChanges); });\n }\n else {\n // Running without zone. Just do the change detection.\n this._tick(checkNoChanges);\n }\n };\n /**\n * Do a change detection run to make sure there were no changes.\n */\n /**\n * Do a change detection run to make sure there were no changes.\n */\n ComponentFixture.prototype.checkNoChanges = /**\n * Do a change detection run to make sure there were no changes.\n */\n function () { this.changeDetectorRef.checkNoChanges(); };\n /**\n * Set whether the fixture should autodetect changes.\n *\n * Also runs detectChanges once so that any existing change is detected.\n */\n /**\n * Set whether the fixture should autodetect changes.\n *\n * Also runs detectChanges once so that any existing change is detected.\n */\n ComponentFixture.prototype.autoDetectChanges = /**\n * Set whether the fixture should autodetect changes.\n *\n * Also runs detectChanges once so that any existing change is detected.\n */\n function (autoDetect) {\n if (autoDetect === void 0) { autoDetect = true; }\n if (this.ngZone == null) {\n throw new Error('Cannot call autoDetectChanges when ComponentFixtureNoNgZone is set');\n }\n this._autoDetect = autoDetect;\n this.detectChanges();\n };\n /**\n * Return whether the fixture is currently stable or has async tasks that have not been completed\n * yet.\n */\n /**\n * Return whether the fixture is currently stable or has async tasks that have not been completed\n * yet.\n */\n ComponentFixture.prototype.isStable = /**\n * Return whether the fixture is currently stable or has async tasks that have not been completed\n * yet.\n */\n function () { return this._isStable && !this.ngZone.hasPendingMacrotasks; };\n /**\n * Get a promise that resolves when the fixture is stable.\n *\n * This can be used to resume testing after events have triggered asynchronous activity or\n * asynchronous change detection.\n */\n /**\n * Get a promise that resolves when the fixture is stable.\n *\n * This can be used to resume testing after events have triggered asynchronous activity or\n * asynchronous change detection.\n */\n ComponentFixture.prototype.whenStable = /**\n * Get a promise that resolves when the fixture is stable.\n *\n * This can be used to resume testing after events have triggered asynchronous activity or\n * asynchronous change detection.\n */\n function () {\n var _this = this;\n if (this.isStable()) {\n return Promise.resolve(false);\n }\n else if (this._promise !== null) {\n return this._promise;\n }\n else {\n this._promise = new Promise(function (res) { _this._resolve = res; });\n return this._promise;\n }\n };\n ComponentFixture.prototype._getRenderer = function () {\n if (this._renderer === undefined) {\n this._renderer = this.componentRef.injector.get(RendererFactory2, null);\n }\n return this._renderer;\n };\n /**\n * Get a promise that resolves when the ui state is stable following animations.\n */\n /**\n * Get a promise that resolves when the ui state is stable following animations.\n */\n ComponentFixture.prototype.whenRenderingDone = /**\n * Get a promise that resolves when the ui state is stable following animations.\n */\n function () {\n var renderer = this._getRenderer();\n if (renderer && renderer.whenRenderingDone) {\n return renderer.whenRenderingDone();\n }\n return this.whenStable();\n };\n /**\n * Trigger component destruction.\n */\n /**\n * Trigger component destruction.\n */\n ComponentFixture.prototype.destroy = /**\n * Trigger component destruction.\n */\n function () {\n if (!this._isDestroyed) {\n this.componentRef.destroy();\n if (this._onUnstableSubscription != null) {\n this._onUnstableSubscription.unsubscribe();\n this._onUnstableSubscription = null;\n }\n if (this._onStableSubscription != null) {\n this._onStableSubscription.unsubscribe();\n this._onStableSubscription = null;\n }\n if (this._onMicrotaskEmptySubscription != null) {\n this._onMicrotaskEmptySubscription.unsubscribe();\n this._onMicrotaskEmptySubscription = null;\n }\n if (this._onErrorSubscription != null) {\n this._onErrorSubscription.unsubscribe();\n this._onErrorSubscription = null;\n }\n this._isDestroyed = true;\n }\n };\n return ComponentFixture;\n}());\n/**\n * Fixture for debugging and testing a component.\n *\n * @stable\n */\nexport { ComponentFixture };\nfunction scheduleMicroTask(fn) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n//# sourceMappingURL=component_fixture.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar FakeAsyncTestZoneSpec = Zone['FakeAsyncTestZoneSpec'];\nvar ProxyZoneSpec = Zone['ProxyZoneSpec'];\nvar _fakeAsyncTestZoneSpec = null;\n/**\n * Clears out the shared fake async zone for a test.\n * To be called in a global `beforeEach`.\n *\n * @experimental\n */\nexport function resetFakeAsyncZone() {\n _fakeAsyncTestZoneSpec = null;\n ProxyZoneSpec.assertPresent().resetDelegate();\n}\nvar _inFakeAsyncCall = false;\n/**\n * Wraps a function to be executed in the fakeAsync zone:\n * - microtasks are manually executed by calling `flushMicrotasks()`,\n * - timers are synchronous, `tick()` simulates the asynchronous passage of time.\n *\n * If there are any pending timers at the end of the function, an exception will be thrown.\n *\n * Can be used to wrap inject() calls.\n *\n * ## Example\n *\n * {@example core/testing/ts/fake_async.ts region='basic'}\n *\n * @param fn\n * @returns The function wrapped to be executed in the fakeAsync zone\n *\n * @experimental\n */\nexport function fakeAsync(fn) {\n // Not using an arrow function to preserve context passed from call site\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var proxyZoneSpec = ProxyZoneSpec.assertPresent();\n if (_inFakeAsyncCall) {\n throw new Error('fakeAsync() calls can not be nested');\n }\n _inFakeAsyncCall = true;\n try {\n if (!_fakeAsyncTestZoneSpec) {\n if (proxyZoneSpec.getDelegate() instanceof FakeAsyncTestZoneSpec) {\n throw new Error('fakeAsync() calls can not be nested');\n }\n _fakeAsyncTestZoneSpec = new FakeAsyncTestZoneSpec();\n }\n var res = void 0;\n var lastProxyZoneSpec = proxyZoneSpec.getDelegate();\n proxyZoneSpec.setDelegate(_fakeAsyncTestZoneSpec);\n try {\n res = fn.apply(this, args);\n flushMicrotasks();\n }\n finally {\n proxyZoneSpec.setDelegate(lastProxyZoneSpec);\n }\n if (_fakeAsyncTestZoneSpec.pendingPeriodicTimers.length > 0) {\n throw new Error(_fakeAsyncTestZoneSpec.pendingPeriodicTimers.length + \" \" +\n \"periodic timer(s) still in the queue.\");\n }\n if (_fakeAsyncTestZoneSpec.pendingTimers.length > 0) {\n throw new Error(_fakeAsyncTestZoneSpec.pendingTimers.length + \" timer(s) still in the queue.\");\n }\n return res;\n }\n finally {\n _inFakeAsyncCall = false;\n resetFakeAsyncZone();\n }\n };\n}\nfunction _getFakeAsyncZoneSpec() {\n if (_fakeAsyncTestZoneSpec == null) {\n throw new Error('The code should be running in the fakeAsync zone to call this function');\n }\n return _fakeAsyncTestZoneSpec;\n}\n/**\n * Simulates the asynchronous passage of time for the timers in the fakeAsync zone.\n *\n * The microtasks queue is drained at the very start of this function and after any timer callback\n * has been executed.\n *\n * ## Example\n *\n * {@example core/testing/ts/fake_async.ts region='basic'}\n *\n * @experimental\n */\nexport function tick(millis) {\n if (millis === void 0) { millis = 0; }\n _getFakeAsyncZoneSpec().tick(millis);\n}\n/**\n * Simulates the asynchronous passage of time for the timers in the fakeAsync zone by\n * draining the macrotask queue until it is empty. The returned value is the milliseconds\n * of time that would have been elapsed.\n *\n * @param maxTurns\n * @returns The simulated time elapsed, in millis.\n *\n * @experimental\n */\nexport function flush(maxTurns) {\n return _getFakeAsyncZoneSpec().flush(maxTurns);\n}\n/**\n * Discard all remaining periodic tasks.\n *\n * @experimental\n */\nexport function discardPeriodicTasks() {\n var zoneSpec = _getFakeAsyncZoneSpec();\n var pendingTimers = zoneSpec.pendingPeriodicTimers;\n zoneSpec.pendingPeriodicTimers.length = 0;\n}\n/**\n * Flush any pending microtasks.\n *\n * @experimental\n */\nexport function flushMicrotasks() {\n _getFakeAsyncZoneSpec().flushMicrotasks();\n}\n//# sourceMappingURL=fake_async.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injectable completer that allows signaling completion of an asynchronous test. Used internally.\n */\nvar /**\n * Injectable completer that allows signaling completion of an asynchronous test. Used internally.\n */\nAsyncTestCompleter = /** @class */ (function () {\n function AsyncTestCompleter() {\n var _this = this;\n this._promise = new Promise(function (res, rej) {\n _this._resolve = res;\n _this._reject = rej;\n });\n }\n AsyncTestCompleter.prototype.done = function (value) { this._resolve(value); };\n AsyncTestCompleter.prototype.fail = function (error, stackTrace) { this._reject(error); };\n Object.defineProperty(AsyncTestCompleter.prototype, \"promise\", {\n get: function () { return this._promise; },\n enumerable: true,\n configurable: true\n });\n return AsyncTestCompleter;\n}());\n/**\n * Injectable completer that allows signaling completion of an asynchronous test. Used internally.\n */\nexport { AsyncTestCompleter };\n//# sourceMappingURL=async_test_completer.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as tslib_1 from \"tslib\";\nimport { Compiler, Injectable } from '@angular/core';\nfunction unimplemented() {\n throw Error('unimplemented');\n}\n/**\n * Special interface to the compiler only used by testing\n *\n * @experimental\n */\nvar TestingCompiler = /** @class */ (function (_super) {\n tslib_1.__extends(TestingCompiler, _super);\n function TestingCompiler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TestingCompiler.prototype, \"injector\", {\n get: function () { throw unimplemented(); },\n enumerable: true,\n configurable: true\n });\n TestingCompiler.prototype.overrideModule = function (module, overrides) {\n throw unimplemented();\n };\n TestingCompiler.prototype.overrideDirective = function (directive, overrides) {\n throw unimplemented();\n };\n TestingCompiler.prototype.overrideComponent = function (component, overrides) {\n throw unimplemented();\n };\n TestingCompiler.prototype.overridePipe = function (directive, overrides) {\n throw unimplemented();\n };\n /**\n * Allows to pass the compile summary from AOT compilation to the JIT compiler,\n * so that it can use the code generated by AOT.\n */\n /**\n * Allows to pass the compile summary from AOT compilation to the JIT compiler,\n * so that it can use the code generated by AOT.\n */\n TestingCompiler.prototype.loadAotSummaries = /**\n * Allows to pass the compile summary from AOT compilation to the JIT compiler,\n * so that it can use the code generated by AOT.\n */\n function (summaries) { throw unimplemented(); };\n /**\n * Gets the component factory for the given component.\n * This assumes that the component has been compiled before calling this call using\n * `compileModuleAndAllComponents*`.\n */\n /**\n * Gets the component factory for the given component.\n * This assumes that the component has been compiled before calling this call using\n * `compileModuleAndAllComponents*`.\n */\n TestingCompiler.prototype.getComponentFactory = /**\n * Gets the component factory for the given component.\n * This assumes that the component has been compiled before calling this call using\n * `compileModuleAndAllComponents*`.\n */\n function (component) { throw unimplemented(); };\n /**\n * Returns the component type that is stored in the given error.\n * This can be used for errors created by compileModule...\n */\n /**\n * Returns the component type that is stored in the given error.\n * This can be used for errors created by compileModule...\n */\n TestingCompiler.prototype.getComponentFromError = /**\n * Returns the component type that is stored in the given error.\n * This can be used for errors created by compileModule...\n */\n function (error) { throw unimplemented(); };\n TestingCompiler.decorators = [\n { type: Injectable },\n ];\n /** @nocollapse */\n TestingCompiler.ctorParameters = function () { return []; };\n return TestingCompiler;\n}(Compiler));\nexport { TestingCompiler };\n/**\n * A factory for creating a Compiler\n *\n * @experimental\n */\nvar /**\n * A factory for creating a Compiler\n *\n * @experimental\n */\nTestingCompilerFactory = /** @class */ (function () {\n function TestingCompilerFactory() {\n }\n return TestingCompilerFactory;\n}());\n/**\n * A factory for creating a Compiler\n *\n * @experimental\n */\nexport { TestingCompilerFactory };\n//# sourceMappingURL=test_compiler.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { ApplicationInitStatus, Component, InjectionToken, Injector, NgModule, NgZone, Optional, SkipSelf, ɵclearOverrides as clearOverrides, ɵoverrideComponentView as overrideComponentView, ɵoverrideProvider as overrideProvider, ɵstringify as stringify } from '@angular/core';\nimport { AsyncTestCompleter } from './async_test_completer';\nimport { ComponentFixture } from './component_fixture';\nimport { TestingCompilerFactory } from './test_compiler';\nvar UNDEFINED = new Object();\n/**\n * An abstract class for inserting the root test component element in a platform independent way.\n *\n * @experimental\n */\nvar /**\n * An abstract class for inserting the root test component element in a platform independent way.\n *\n * @experimental\n */\nTestComponentRenderer = /** @class */ (function () {\n function TestComponentRenderer() {\n }\n TestComponentRenderer.prototype.insertRootElement = function (rootElementId) { };\n return TestComponentRenderer;\n}());\n/**\n * An abstract class for inserting the root test component element in a platform independent way.\n *\n * @experimental\n */\nexport { TestComponentRenderer };\nvar _nextRootElementId = 0;\n/**\n * @experimental\n */\nexport var ComponentFixtureAutoDetect = new InjectionToken('ComponentFixtureAutoDetect');\n/**\n * @experimental\n */\nexport var ComponentFixtureNoNgZone = new InjectionToken('ComponentFixtureNoNgZone');\n/**\n * @whatItDoes Configures and initializes environment for unit testing and provides methods for\n * creating components and services in unit tests.\n * @description\n *\n * TestBed is the primary api for writing unit tests for Angular applications and libraries.\n *\n * @stable\n */\nvar /**\n * @whatItDoes Configures and initializes environment for unit testing and provides methods for\n * creating components and services in unit tests.\n * @description\n *\n * TestBed is the primary api for writing unit tests for Angular applications and libraries.\n *\n * @stable\n */\nTestBed = /** @class */ (function () {\n function TestBed() {\n this._instantiated = false;\n this._compiler = null;\n this._moduleRef = null;\n this._moduleFactory = null;\n this._compilerOptions = [];\n this._moduleOverrides = [];\n this._componentOverrides = [];\n this._directiveOverrides = [];\n this._pipeOverrides = [];\n this._providers = [];\n this._declarations = [];\n this._imports = [];\n this._schemas = [];\n this._activeFixtures = [];\n this._testEnvAotSummaries = function () { return []; };\n this._aotSummaries = [];\n this._templateOverrides = [];\n this.platform = null;\n this.ngModule = null;\n }\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n TestBed.initTestEnvironment = /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n function (ngModule, platform, aotSummaries) {\n var testBed = getTestBed();\n testBed.initTestEnvironment(ngModule, platform, aotSummaries);\n return testBed;\n };\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n TestBed.resetTestEnvironment = /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n function () { getTestBed().resetTestEnvironment(); };\n TestBed.resetTestingModule = function () {\n getTestBed().resetTestingModule();\n return TestBed;\n };\n /**\n * Allows overriding default compiler providers and settings\n * which are defined in test_injector.js\n */\n /**\n * Allows overriding default compiler providers and settings\n * which are defined in test_injector.js\n */\n TestBed.configureCompiler = /**\n * Allows overriding default compiler providers and settings\n * which are defined in test_injector.js\n */\n function (config) {\n getTestBed().configureCompiler(config);\n return TestBed;\n };\n /**\n * Allows overriding default providers, directives, pipes, modules of the test injector,\n * which are defined in test_injector.js\n */\n /**\n * Allows overriding default providers, directives, pipes, modules of the test injector,\n * which are defined in test_injector.js\n */\n TestBed.configureTestingModule = /**\n * Allows overriding default providers, directives, pipes, modules of the test injector,\n * which are defined in test_injector.js\n */\n function (moduleDef) {\n getTestBed().configureTestingModule(moduleDef);\n return TestBed;\n };\n /**\n * Compile components with a `templateUrl` for the test's NgModule.\n * It is necessary to call this function\n * as fetching urls is asynchronous.\n */\n /**\n * Compile components with a `templateUrl` for the test's NgModule.\n * It is necessary to call this function\n * as fetching urls is asynchronous.\n */\n TestBed.compileComponents = /**\n * Compile components with a `templateUrl` for the test's NgModule.\n * It is necessary to call this function\n * as fetching urls is asynchronous.\n */\n function () { return getTestBed().compileComponents(); };\n TestBed.overrideModule = function (ngModule, override) {\n getTestBed().overrideModule(ngModule, override);\n return TestBed;\n };\n TestBed.overrideComponent = function (component, override) {\n getTestBed().overrideComponent(component, override);\n return TestBed;\n };\n TestBed.overrideDirective = function (directive, override) {\n getTestBed().overrideDirective(directive, override);\n return TestBed;\n };\n TestBed.overridePipe = function (pipe, override) {\n getTestBed().overridePipe(pipe, override);\n return TestBed;\n };\n TestBed.overrideTemplate = function (component, template) {\n getTestBed().overrideComponent(component, { set: { template: template, templateUrl: (null) } });\n return TestBed;\n };\n /**\n * Overrides the template of the given component, compiling the template\n * in the context of the TestingModule.\n *\n * Note: This works for JIT and AOTed components as well.\n */\n /**\n * Overrides the template of the given component, compiling the template\n * in the context of the TestingModule.\n *\n * Note: This works for JIT and AOTed components as well.\n */\n TestBed.overrideTemplateUsingTestingModule = /**\n * Overrides the template of the given component, compiling the template\n * in the context of the TestingModule.\n *\n * Note: This works for JIT and AOTed components as well.\n */\n function (component, template) {\n getTestBed().overrideTemplateUsingTestingModule(component, template);\n return TestBed;\n };\n TestBed.overrideProvider = function (token, provider) {\n getTestBed().overrideProvider(token, provider);\n return TestBed;\n };\n TestBed.deprecatedOverrideProvider = function (token, provider) {\n getTestBed().deprecatedOverrideProvider(token, provider);\n return TestBed;\n };\n TestBed.get = function (token, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }\n return getTestBed().get(token, notFoundValue);\n };\n TestBed.createComponent = function (component) {\n return getTestBed().createComponent(component);\n };\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n TestBed.prototype.initTestEnvironment = /**\n * Initialize the environment for testing with a compiler factory, a PlatformRef, and an\n * angular module. These are common to every test in the suite.\n *\n * This may only be called once, to set up the common providers for the current test\n * suite on the current platform. If you absolutely need to change the providers,\n * first use `resetTestEnvironment`.\n *\n * Test modules and platforms for individual platforms are available from\n * '@angular/<platform_name>/testing'.\n *\n * @experimental\n */\n function (ngModule, platform, aotSummaries) {\n if (this.platform || this.ngModule) {\n throw new Error('Cannot set base providers because it has already been called');\n }\n this.platform = platform;\n this.ngModule = ngModule;\n if (aotSummaries) {\n this._testEnvAotSummaries = aotSummaries;\n }\n };\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n TestBed.prototype.resetTestEnvironment = /**\n * Reset the providers for the test injector.\n *\n * @experimental\n */\n function () {\n this.resetTestingModule();\n this.platform = (null);\n this.ngModule = (null);\n this._testEnvAotSummaries = function () { return []; };\n };\n TestBed.prototype.resetTestingModule = function () {\n clearOverrides();\n this._aotSummaries = [];\n this._templateOverrides = [];\n this._compiler = (null);\n this._moduleOverrides = [];\n this._componentOverrides = [];\n this._directiveOverrides = [];\n this._pipeOverrides = [];\n this._moduleRef = (null);\n this._moduleFactory = (null);\n this._compilerOptions = [];\n this._providers = [];\n this._declarations = [];\n this._imports = [];\n this._schemas = [];\n this._instantiated = false;\n this._activeFixtures.forEach(function (fixture) {\n try {\n fixture.destroy();\n }\n catch (e) {\n console.error('Error during cleanup of component', {\n component: fixture.componentInstance,\n stacktrace: e,\n });\n }\n });\n this._activeFixtures = [];\n };\n TestBed.prototype.configureCompiler = function (config) {\n this._assertNotInstantiated('TestBed.configureCompiler', 'configure the compiler');\n this._compilerOptions.push(config);\n };\n TestBed.prototype.configureTestingModule = function (moduleDef) {\n this._assertNotInstantiated('TestBed.configureTestingModule', 'configure the test module');\n if (moduleDef.providers) {\n (_a = this._providers).push.apply(_a, moduleDef.providers);\n }\n if (moduleDef.declarations) {\n (_b = this._declarations).push.apply(_b, moduleDef.declarations);\n }\n if (moduleDef.imports) {\n (_c = this._imports).push.apply(_c, moduleDef.imports);\n }\n if (moduleDef.schemas) {\n (_d = this._schemas).push.apply(_d, moduleDef.schemas);\n }\n if (moduleDef.aotSummaries) {\n this._aotSummaries.push(moduleDef.aotSummaries);\n }\n var _a, _b, _c, _d;\n };\n TestBed.prototype.compileComponents = function () {\n var _this = this;\n if (this._moduleFactory || this._instantiated) {\n return Promise.resolve(null);\n }\n var moduleType = this._createCompilerAndModule();\n return this._compiler.compileModuleAndAllComponentsAsync(moduleType)\n .then(function (moduleAndComponentFactories) {\n _this._moduleFactory = moduleAndComponentFactories.ngModuleFactory;\n });\n };\n TestBed.prototype._initIfNeeded = function () {\n if (this._instantiated) {\n return;\n }\n if (!this._moduleFactory) {\n try {\n var moduleType = this._createCompilerAndModule();\n this._moduleFactory =\n this._compiler.compileModuleAndAllComponentsSync(moduleType).ngModuleFactory;\n }\n catch (e) {\n var errorCompType = this._compiler.getComponentFromError(e);\n if (errorCompType) {\n throw new Error(\"This test module uses the component \" + stringify(errorCompType) + \" which is using a \\\"templateUrl\\\" or \\\"styleUrls\\\", but they were never compiled. \" +\n \"Please call \\\"TestBed.compileComponents\\\" before your test.\");\n }\n else {\n throw e;\n }\n }\n }\n for (var _i = 0, _a = this._templateOverrides; _i < _a.length; _i++) {\n var _b = _a[_i], component = _b.component, templateOf = _b.templateOf;\n var compFactory = this._compiler.getComponentFactory(templateOf);\n overrideComponentView(component, compFactory);\n }\n var ngZone = new NgZone({ enableLongStackTrace: true });\n var providers = [{ provide: NgZone, useValue: ngZone }];\n var ngZoneInjector = Injector.create({\n providers: providers,\n parent: this.platform.injector,\n name: this._moduleFactory.moduleType.name\n });\n this._moduleRef = this._moduleFactory.create(ngZoneInjector);\n // ApplicationInitStatus.runInitializers() is marked @internal to core. So casting to any\n // before accessing it.\n // ApplicationInitStatus.runInitializers() is marked @internal to core. So casting to any\n // before accessing it.\n this._moduleRef.injector.get(ApplicationInitStatus).runInitializers();\n this._instantiated = true;\n };\n TestBed.prototype._createCompilerAndModule = function () {\n var _this = this;\n var providers = this._providers.concat([{ provide: TestBed, useValue: this }]);\n var declarations = this._declarations.concat(this._templateOverrides.map(function (entry) { return entry.templateOf; }));\n var imports = [this.ngModule, this._imports];\n var schemas = this._schemas;\n var DynamicTestModule = /** @class */ (function () {\n function DynamicTestModule() {\n }\n DynamicTestModule.decorators = [\n { type: NgModule, args: [{ providers: providers, declarations: declarations, imports: imports, schemas: schemas },] },\n ];\n /** @nocollapse */\n DynamicTestModule.ctorParameters = function () { return []; };\n return DynamicTestModule;\n }());\n var compilerFactory = this.platform.injector.get(TestingCompilerFactory);\n this._compiler = compilerFactory.createTestingCompiler(this._compilerOptions);\n for (var _i = 0, _a = [this._testEnvAotSummaries].concat(this._aotSummaries); _i < _a.length; _i++) {\n var summary = _a[_i];\n this._compiler.loadAotSummaries(summary);\n }\n this._moduleOverrides.forEach(function (entry) { return _this._compiler.overrideModule(entry[0], entry[1]); });\n this._componentOverrides.forEach(function (entry) { return _this._compiler.overrideComponent(entry[0], entry[1]); });\n this._directiveOverrides.forEach(function (entry) { return _this._compiler.overrideDirective(entry[0], entry[1]); });\n this._pipeOverrides.forEach(function (entry) { return _this._compiler.overridePipe(entry[0], entry[1]); });\n return DynamicTestModule;\n };\n TestBed.prototype._assertNotInstantiated = function (methodName, methodDescription) {\n if (this._instantiated) {\n throw new Error(\"Cannot \" + methodDescription + \" when the test module has already been instantiated. \" +\n (\"Make sure you are not using `inject` before `\" + methodName + \"`.\"));\n }\n };\n TestBed.prototype.get = function (token, notFoundValue) {\n if (notFoundValue === void 0) { notFoundValue = Injector.THROW_IF_NOT_FOUND; }\n this._initIfNeeded();\n if (token === TestBed) {\n return this;\n }\n // Tests can inject things from the ng module and from the compiler,\n // but the ng module can't inject things from the compiler and vice versa.\n var result = this._moduleRef.injector.get(token, UNDEFINED);\n return result === UNDEFINED ? this._compiler.injector.get(token, notFoundValue) : result;\n };\n TestBed.prototype.execute = function (tokens, fn, context) {\n var _this = this;\n this._initIfNeeded();\n var params = tokens.map(function (t) { return _this.get(t); });\n return fn.apply(context, params);\n };\n TestBed.prototype.overrideModule = function (ngModule, override) {\n this._assertNotInstantiated('overrideModule', 'override module metadata');\n this._moduleOverrides.push([ngModule, override]);\n };\n TestBed.prototype.overrideComponent = function (component, override) {\n this._assertNotInstantiated('overrideComponent', 'override component metadata');\n this._componentOverrides.push([component, override]);\n };\n TestBed.prototype.overrideDirective = function (directive, override) {\n this._assertNotInstantiated('overrideDirective', 'override directive metadata');\n this._directiveOverrides.push([directive, override]);\n };\n TestBed.prototype.overridePipe = function (pipe, override) {\n this._assertNotInstantiated('overridePipe', 'override pipe metadata');\n this._pipeOverrides.push([pipe, override]);\n };\n TestBed.prototype.overrideProvider = function (token, provider) {\n this.overrideProviderImpl(token, provider);\n };\n TestBed.prototype.deprecatedOverrideProvider = function (token, provider) {\n this.overrideProviderImpl(token, provider, /* deprecated */ /* deprecated */ true);\n };\n TestBed.prototype.overrideProviderImpl = function (token, provider, deprecated) {\n if (deprecated === void 0) { deprecated = false; }\n var flags = 0;\n var value;\n if (provider.useFactory) {\n flags |= 1024 /* TypeFactoryProvider */;\n value = provider.useFactory;\n }\n else {\n flags |= 256 /* TypeValueProvider */;\n value = provider.useValue;\n }\n var deps = (provider.deps || []).map(function (dep) {\n var depFlags = 0 /* None */;\n var depToken;\n if (Array.isArray(dep)) {\n dep.forEach(function (entry) {\n if (entry instanceof Optional) {\n depFlags |= 2 /* Optional */;\n }\n else if (entry instanceof SkipSelf) {\n depFlags |= 1 /* SkipSelf */;\n }\n else {\n depToken = entry;\n }\n });\n }\n else {\n depToken = dep;\n }\n return [depFlags, depToken];\n });\n overrideProvider({ token: token, flags: flags, deps: deps, value: value, deprecatedBehavior: deprecated });\n };\n TestBed.prototype.overrideTemplateUsingTestingModule = function (component, template) {\n this._assertNotInstantiated('overrideTemplateUsingTestingModule', 'override template');\n var OverrideComponent = /** @class */ (function () {\n function OverrideComponent() {\n }\n OverrideComponent.decorators = [\n { type: Component, args: [{ selector: 'empty', template: template },] },\n ];\n /** @nocollapse */\n OverrideComponent.ctorParameters = function () { return []; };\n return OverrideComponent;\n }());\n this._templateOverrides.push({ component: component, templateOf: OverrideComponent });\n };\n TestBed.prototype.createComponent = function (component) {\n var _this = this;\n this._initIfNeeded();\n var componentFactory = this._compiler.getComponentFactory(component);\n if (!componentFactory) {\n throw new Error(\"Cannot create the component \" + stringify(component) + \" as it was not imported into the testing module!\");\n }\n var noNgZone = this.get(ComponentFixtureNoNgZone, false);\n var autoDetect = this.get(ComponentFixtureAutoDetect, false);\n var ngZone = noNgZone ? null : this.get(NgZone, null);\n var testComponentRenderer = this.get(TestComponentRenderer);\n var rootElId = \"root\" + _nextRootElementId++;\n testComponentRenderer.insertRootElement(rootElId);\n var initComponent = function () {\n var componentRef = componentFactory.create(Injector.NULL, [], \"#\" + rootElId, _this._moduleRef);\n return new ComponentFixture(componentRef, ngZone, autoDetect);\n };\n var fixture = !ngZone ? initComponent() : ngZone.run(initComponent);\n this._activeFixtures.push(fixture);\n return fixture;\n };\n return TestBed;\n}());\n/**\n * @whatItDoes Configures and initializes environment for unit testing and provides methods for\n * creating components and services in unit tests.\n * @description\n *\n * TestBed is the primary api for writing unit tests for Angular applications and libraries.\n *\n * @stable\n */\nexport { TestBed };\nvar _testBed = (null);\n/**\n * @experimental\n */\nexport function getTestBed() {\n return _testBed = _testBed || new TestBed();\n}\n/**\n * Allows injecting dependencies in `beforeEach()` and `it()`.\n *\n * Example:\n *\n * ```\n * beforeEach(inject([Dependency, AClass], (dep, object) => {\n * // some code that uses `dep` and `object`\n * // ...\n * }));\n *\n * it('...', inject([AClass], (object) => {\n * object.doSomething();\n * expect(...);\n * })\n * ```\n *\n * Notes:\n * - inject is currently a function because of some Traceur limitation the syntax should\n * eventually\n * becomes `it('...', @Inject (object: AClass, async: AsyncTestCompleter) => { ... });`\n *\n * @stable\n */\nexport function inject(tokens, fn) {\n var testBed = getTestBed();\n if (tokens.indexOf(AsyncTestCompleter) >= 0) {\n // Not using an arrow function to preserve context passed from call site\n return function () {\n var _this = this;\n // Return an async test method that returns a Promise if AsyncTestCompleter is one of\n // the injected tokens.\n return testBed.compileComponents().then(function () {\n var completer = testBed.get(AsyncTestCompleter);\n testBed.execute(tokens, fn, _this);\n return completer.promise;\n });\n };\n }\n else {\n // Not using an arrow function to preserve context passed from call site\n return function () { return testBed.execute(tokens, fn, this); };\n }\n}\n/**\n * @experimental\n */\nvar /**\n * @experimental\n */\nInjectSetupWrapper = /** @class */ (function () {\n function InjectSetupWrapper(_moduleDef) {\n this._moduleDef = _moduleDef;\n }\n InjectSetupWrapper.prototype._addModule = function () {\n var moduleDef = this._moduleDef();\n if (moduleDef) {\n getTestBed().configureTestingModule(moduleDef);\n }\n };\n InjectSetupWrapper.prototype.inject = function (tokens, fn) {\n var self = this;\n // Not using an arrow function to preserve context passed from call site\n return function () {\n self._addModule();\n return inject(tokens, fn).call(this);\n };\n };\n return InjectSetupWrapper;\n}());\n/**\n * @experimental\n */\nexport { InjectSetupWrapper };\nexport function withModule(moduleDef, fn) {\n if (fn) {\n // Not using an arrow function to preserve context passed from call site\n return function () {\n var testBed = getTestBed();\n if (moduleDef) {\n testBed.configureTestingModule(moduleDef);\n }\n return fn.apply(this);\n };\n }\n return new InjectSetupWrapper(function () { return moduleDef; });\n}\n//# sourceMappingURL=test_bed.js.map","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { resetFakeAsyncZone } from './fake_async';\nimport { TestBed } from './test_bed';\nvar _global = (typeof window === 'undefined' ? global : window);\n// Reset the test providers and the fake async zone before each test.\nif (_global.beforeEach) {\n _global.beforeEach(function () {\n TestBed.resetTestingModule();\n resetFakeAsyncZone();\n });\n}\n// TODO(juliemr): remove this, only used because we need to export something to have compilation\n// work.\nexport var __core_private_testing_placeholder__ = '';\n//# sourceMappingURL=before_each.js.map"],"names":["getDebugNode","RendererFactory2","tslib_1.__extends","Injectable","Compiler","InjectionToken","Injector","clearOverrides","stringify","overrideComponentView","NgZone","ApplicationInitStatus","NgModule","Optional","SkipSelf","overrideProvider","Component","_global"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v5.2.2
2
+ * @license Angular v5.2.6
3
3
  * (c) 2010-2018 Google, Inc. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -10,5 +10,5 @@
10
10
  * Use of this source code is governed by an MIT-style license that can be
11
11
  * found in the LICENSE file at https://angular.io/license
12
12
  */
13
- function unimplemented(){throw Error("unimplemented")}function getTestBed(){return _testBed=_testBed||new TestBed}function inject(tokens,fn){var testBed=getTestBed();return tokens.indexOf(AsyncTestCompleter)>=0?function(){var _this=this;return testBed.compileComponents().then(function(){var completer=testBed.get(AsyncTestCompleter);return testBed.execute(tokens,fn,_this),completer.promise})}:function(){return testBed.execute(tokens,fn,this)}}function withModule(moduleDef,fn){return fn?function(){var testBed=getTestBed();return moduleDef&&testBed.configureTestingModule(moduleDef),fn.apply(this)}:new InjectSetupWrapper(function(){return moduleDef})}var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])},_global="undefined"==typeof window?global:window,ComponentFixture=function(){function ComponentFixture(componentRef,ngZone,_autoDetect){var _this=this;this.componentRef=componentRef,this.ngZone=ngZone,this._autoDetect=_autoDetect,this._isStable=!0,this._isDestroyed=!1,this._resolve=null,this._promise=null,this._onUnstableSubscription=null,this._onStableSubscription=null,this._onMicrotaskEmptySubscription=null,this._onErrorSubscription=null,this.changeDetectorRef=componentRef.changeDetectorRef,this.elementRef=componentRef.location,this.debugElement=_angular_core.getDebugNode(this.elementRef.nativeElement),this.componentInstance=componentRef.instance,this.nativeElement=this.elementRef.nativeElement,this.componentRef=componentRef,this.ngZone=ngZone,ngZone&&ngZone.runOutsideAngular(function(){_this._onUnstableSubscription=ngZone.onUnstable.subscribe({next:function(){_this._isStable=!1}}),_this._onMicrotaskEmptySubscription=ngZone.onMicrotaskEmpty.subscribe({next:function(){_this._autoDetect&&_this.detectChanges(!0)}}),_this._onStableSubscription=ngZone.onStable.subscribe({next:function(){_this._isStable=!0,null!==_this._promise&&scheduleMicroTask(function(){ngZone.hasPendingMacrotasks||null!==_this._promise&&(_this._resolve(!0),_this._resolve=null,_this._promise=null)})}}),_this._onErrorSubscription=ngZone.onError.subscribe({next:function(error){throw error}})})}return ComponentFixture.prototype._tick=function(checkNoChanges){this.changeDetectorRef.detectChanges(),checkNoChanges&&this.checkNoChanges()},ComponentFixture.prototype.detectChanges=function(checkNoChanges){var _this=this;void 0===checkNoChanges&&(checkNoChanges=!0),null!=this.ngZone?this.ngZone.run(function(){_this._tick(checkNoChanges)}):this._tick(checkNoChanges)},ComponentFixture.prototype.checkNoChanges=function(){this.changeDetectorRef.checkNoChanges()},ComponentFixture.prototype.autoDetectChanges=function(autoDetect){if(void 0===autoDetect&&(autoDetect=!0),null==this.ngZone)throw new Error("Cannot call autoDetectChanges when ComponentFixtureNoNgZone is set");this._autoDetect=autoDetect,this.detectChanges()},ComponentFixture.prototype.isStable=function(){return this._isStable&&!this.ngZone.hasPendingMacrotasks},ComponentFixture.prototype.whenStable=function(){var _this=this;return this.isStable()?Promise.resolve(!1):null!==this._promise?this._promise:(this._promise=new Promise(function(res){_this._resolve=res}),this._promise)},ComponentFixture.prototype._getRenderer=function(){return void 0===this._renderer&&(this._renderer=this.componentRef.injector.get(_angular_core.RendererFactory2,null)),this._renderer},ComponentFixture.prototype.whenRenderingDone=function(){var renderer=this._getRenderer();return renderer&&renderer.whenRenderingDone?renderer.whenRenderingDone():this.whenStable()},ComponentFixture.prototype.destroy=function(){this._isDestroyed||(this.componentRef.destroy(),null!=this._onUnstableSubscription&&(this._onUnstableSubscription.unsubscribe(),this._onUnstableSubscription=null),null!=this._onStableSubscription&&(this._onStableSubscription.unsubscribe(),this._onStableSubscription=null),null!=this._onMicrotaskEmptySubscription&&(this._onMicrotaskEmptySubscription.unsubscribe(),this._onMicrotaskEmptySubscription=null),null!=this._onErrorSubscription&&(this._onErrorSubscription.unsubscribe(),this._onErrorSubscription=null),this._isDestroyed=!0)},ComponentFixture}(),FakeAsyncTestZoneSpec=Zone.FakeAsyncTestZoneSpec,ProxyZoneSpec=Zone.ProxyZoneSpec,_fakeAsyncTestZoneSpec=null,_inFakeAsyncCall=!1,AsyncTestCompleter=function(){function AsyncTestCompleter(){var _this=this;this._promise=new Promise(function(res,rej){_this._resolve=res,_this._reject=rej})}return AsyncTestCompleter.prototype.done=function(value){this._resolve(value)},AsyncTestCompleter.prototype.fail=function(error,stackTrace){this._reject(error)},Object.defineProperty(AsyncTestCompleter.prototype,"promise",{get:function(){return this._promise},enumerable:!0,configurable:!0}),AsyncTestCompleter}(),TestingCompiler=function(_super){function TestingCompiler(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(TestingCompiler,_super),Object.defineProperty(TestingCompiler.prototype,"injector",{get:function(){throw unimplemented()},enumerable:!0,configurable:!0}),TestingCompiler.prototype.overrideModule=function(module,overrides){throw unimplemented()},TestingCompiler.prototype.overrideDirective=function(directive,overrides){throw unimplemented()},TestingCompiler.prototype.overrideComponent=function(component,overrides){throw unimplemented()},TestingCompiler.prototype.overridePipe=function(directive,overrides){throw unimplemented()},TestingCompiler.prototype.loadAotSummaries=function(summaries){throw unimplemented()},TestingCompiler.prototype.getComponentFactory=function(component){throw unimplemented()},TestingCompiler.prototype.getComponentFromError=function(error){throw unimplemented()},TestingCompiler}(_angular_core.Compiler),TestingCompilerFactory=function(){function TestingCompilerFactory(){}return TestingCompilerFactory}(),UNDEFINED=new Object,TestComponentRenderer=function(){function TestComponentRenderer(){}return TestComponentRenderer.prototype.insertRootElement=function(rootElementId){},TestComponentRenderer}(),_nextRootElementId=0,ComponentFixtureAutoDetect=new _angular_core.InjectionToken("ComponentFixtureAutoDetect"),ComponentFixtureNoNgZone=new _angular_core.InjectionToken("ComponentFixtureNoNgZone"),TestBed=function(){function TestBed(){this._instantiated=!1,this._compiler=null,this._moduleRef=null,this._moduleFactory=null,this._compilerOptions=[],this._moduleOverrides=[],this._componentOverrides=[],this._directiveOverrides=[],this._pipeOverrides=[],this._providers=[],this._declarations=[],this._imports=[],this._schemas=[],this._activeFixtures=[],this._testEnvAotSummaries=function(){return[]},this._aotSummaries=[],this._templateOverrides=[],this.platform=null,this.ngModule=null}return TestBed.initTestEnvironment=function(ngModule,platform,aotSummaries){var testBed=getTestBed();return testBed.initTestEnvironment(ngModule,platform,aotSummaries),testBed},TestBed.resetTestEnvironment=function(){getTestBed().resetTestEnvironment()},TestBed.resetTestingModule=function(){return getTestBed().resetTestingModule(),TestBed},TestBed.configureCompiler=function(config){return getTestBed().configureCompiler(config),TestBed},TestBed.configureTestingModule=function(moduleDef){return getTestBed().configureTestingModule(moduleDef),TestBed},TestBed.compileComponents=function(){return getTestBed().compileComponents()},TestBed.overrideModule=function(ngModule,override){return getTestBed().overrideModule(ngModule,override),TestBed},TestBed.overrideComponent=function(component,override){return getTestBed().overrideComponent(component,override),TestBed},TestBed.overrideDirective=function(directive,override){return getTestBed().overrideDirective(directive,override),TestBed},TestBed.overridePipe=function(pipe,override){return getTestBed().overridePipe(pipe,override),TestBed},TestBed.overrideTemplate=function(component,template){return getTestBed().overrideComponent(component,{set:{template:template,templateUrl:null}}),TestBed},TestBed.overrideTemplateUsingTestingModule=function(component,template){return getTestBed().overrideTemplateUsingTestingModule(component,template),TestBed},TestBed.overrideProvider=function(token,provider){return getTestBed().overrideProvider(token,provider),TestBed},TestBed.deprecatedOverrideProvider=function(token,provider){return getTestBed().deprecatedOverrideProvider(token,provider),TestBed},TestBed.get=function(token,notFoundValue){return void 0===notFoundValue&&(notFoundValue=_angular_core.Injector.THROW_IF_NOT_FOUND),getTestBed().get(token,notFoundValue)},TestBed.createComponent=function(component){return getTestBed().createComponent(component)},TestBed.prototype.initTestEnvironment=function(ngModule,platform,aotSummaries){if(this.platform||this.ngModule)throw new Error("Cannot set base providers because it has already been called");this.platform=platform,this.ngModule=ngModule,aotSummaries&&(this._testEnvAotSummaries=aotSummaries)},TestBed.prototype.resetTestEnvironment=function(){this.resetTestingModule(),this.platform=null,this.ngModule=null,this._testEnvAotSummaries=function(){return[]}},TestBed.prototype.resetTestingModule=function(){_angular_core.ɵclearOverrides(),this._aotSummaries=[],this._templateOverrides=[],this._compiler=null,this._moduleOverrides=[],this._componentOverrides=[],this._directiveOverrides=[],this._pipeOverrides=[],this._moduleRef=null,this._moduleFactory=null,this._compilerOptions=[],this._providers=[],this._declarations=[],this._imports=[],this._schemas=[],this._instantiated=!1,this._activeFixtures.forEach(function(fixture){try{fixture.destroy()}catch(e){console.error("Error during cleanup of component",fixture.componentInstance)}}),this._activeFixtures=[]},TestBed.prototype.configureCompiler=function(config){this._assertNotInstantiated("TestBed.configureCompiler","configure the compiler"),this._compilerOptions.push(config)},TestBed.prototype.configureTestingModule=function(moduleDef){this._assertNotInstantiated("TestBed.configureTestingModule","configure the test module"),moduleDef.providers&&(_a=this._providers).push.apply(_a,moduleDef.providers),moduleDef.declarations&&(_b=this._declarations).push.apply(_b,moduleDef.declarations),moduleDef.imports&&(_c=this._imports).push.apply(_c,moduleDef.imports),moduleDef.schemas&&(_d=this._schemas).push.apply(_d,moduleDef.schemas),moduleDef.aotSummaries&&this._aotSummaries.push(moduleDef.aotSummaries);var _a,_b,_c,_d},TestBed.prototype.compileComponents=function(){var _this=this;if(this._moduleFactory||this._instantiated)return Promise.resolve(null);var moduleType=this._createCompilerAndModule();return this._compiler.compileModuleAndAllComponentsAsync(moduleType).then(function(moduleAndComponentFactories){_this._moduleFactory=moduleAndComponentFactories.ngModuleFactory})},TestBed.prototype._initIfNeeded=function(){if(!this._instantiated){if(!this._moduleFactory)try{var moduleType=this._createCompilerAndModule();this._moduleFactory=this._compiler.compileModuleAndAllComponentsSync(moduleType).ngModuleFactory}catch(e){var errorCompType=this._compiler.getComponentFromError(e);throw errorCompType?new Error("This test module uses the component "+_angular_core.ɵstringify(errorCompType)+' which is using a "templateUrl" or "styleUrls", but they were never compiled. Please call "TestBed.compileComponents" before your test.'):e}for(var _i=0,_a=this._templateOverrides;_i<_a.length;_i++){var _b=_a[_i],component=_b.component,templateOf=_b.templateOf,compFactory=this._compiler.getComponentFactory(templateOf);_angular_core.ɵoverrideComponentView(component,compFactory)}var ngZone=new _angular_core.NgZone({enableLongStackTrace:!0}),providers=[{provide:_angular_core.NgZone,useValue:ngZone}],ngZoneInjector=_angular_core.Injector.create({providers:providers,parent:this.platform.injector,name:this._moduleFactory.moduleType.name});this._moduleRef=this._moduleFactory.create(ngZoneInjector),this._moduleRef.injector.get(_angular_core.ApplicationInitStatus).runInitializers(),this._instantiated=!0}},TestBed.prototype._createCompilerAndModule=function(){var _this=this,providers=this._providers.concat([{provide:TestBed,useValue:this}]),declarations=this._declarations.concat(this._templateOverrides.map(function(entry){return entry.templateOf})),imports=[this.ngModule,this._imports],schemas=this._schemas,DynamicTestModule=function(){function DynamicTestModule(){}return DynamicTestModule.decorators=[{type:_angular_core.NgModule,args:[{providers:providers,declarations:declarations,imports:imports,schemas:schemas}]}],DynamicTestModule.ctorParameters=function(){return[]},DynamicTestModule}(),compilerFactory=this.platform.injector.get(TestingCompilerFactory);this._compiler=compilerFactory.createTestingCompiler(this._compilerOptions);for(var _i=0,_a=[this._testEnvAotSummaries].concat(this._aotSummaries);_i<_a.length;_i++){var summary=_a[_i];this._compiler.loadAotSummaries(summary)}return this._moduleOverrides.forEach(function(entry){return _this._compiler.overrideModule(entry[0],entry[1])}),this._componentOverrides.forEach(function(entry){return _this._compiler.overrideComponent(entry[0],entry[1])}),this._directiveOverrides.forEach(function(entry){return _this._compiler.overrideDirective(entry[0],entry[1])}),this._pipeOverrides.forEach(function(entry){return _this._compiler.overridePipe(entry[0],entry[1])}),DynamicTestModule},TestBed.prototype._assertNotInstantiated=function(methodName,methodDescription){if(this._instantiated)throw new Error("Cannot "+methodDescription+" when the test module has already been instantiated. Make sure you are not using `inject` before `"+methodName+"`.")},TestBed.prototype.get=function(token,notFoundValue){if(void 0===notFoundValue&&(notFoundValue=_angular_core.Injector.THROW_IF_NOT_FOUND),this._initIfNeeded(),token===TestBed)return this;var result=this._moduleRef.injector.get(token,UNDEFINED);return result===UNDEFINED?this._compiler.injector.get(token,notFoundValue):result},TestBed.prototype.execute=function(tokens,fn,context){var _this=this;this._initIfNeeded();var params=tokens.map(function(t){return _this.get(t)});return fn.apply(context,params)},TestBed.prototype.overrideModule=function(ngModule,override){this._assertNotInstantiated("overrideModule","override module metadata"),this._moduleOverrides.push([ngModule,override])},TestBed.prototype.overrideComponent=function(component,override){this._assertNotInstantiated("overrideComponent","override component metadata"),this._componentOverrides.push([component,override])},TestBed.prototype.overrideDirective=function(directive,override){this._assertNotInstantiated("overrideDirective","override directive metadata"),this._directiveOverrides.push([directive,override])},TestBed.prototype.overridePipe=function(pipe,override){this._assertNotInstantiated("overridePipe","override pipe metadata"),this._pipeOverrides.push([pipe,override])},TestBed.prototype.overrideProvider=function(token,provider){this.overrideProviderImpl(token,provider)},TestBed.prototype.deprecatedOverrideProvider=function(token,provider){this.overrideProviderImpl(token,provider,!0)},TestBed.prototype.overrideProviderImpl=function(token,provider,deprecated){void 0===deprecated&&(deprecated=!1);var value,flags=0;provider.useFactory?(flags|=1024,value=provider.useFactory):(flags|=256,value=provider.useValue);var deps=(provider.deps||[]).map(function(dep){var depToken,depFlags=0;return Array.isArray(dep)?dep.forEach(function(entry){entry instanceof _angular_core.Optional?depFlags|=2:entry instanceof _angular_core.SkipSelf?depFlags|=1:depToken=entry}):depToken=dep,[depFlags,depToken]});_angular_core.ɵoverrideProvider({token:token,flags:flags,deps:deps,value:value,deprecatedBehavior:deprecated})},TestBed.prototype.overrideTemplateUsingTestingModule=function(component,template){this._assertNotInstantiated("overrideTemplateUsingTestingModule","override template");var OverrideComponent=function(){function OverrideComponent(){}return OverrideComponent.decorators=[{type:_angular_core.Component,args:[{selector:"empty",template:template}]}],OverrideComponent.ctorParameters=function(){return[]},OverrideComponent}();this._templateOverrides.push({component:component,templateOf:OverrideComponent})},TestBed.prototype.createComponent=function(component){var _this=this;this._initIfNeeded();var componentFactory=this._compiler.getComponentFactory(component);if(!componentFactory)throw new Error("Cannot create the component "+_angular_core.ɵstringify(component)+" as it was not imported into the testing module!");var noNgZone=this.get(ComponentFixtureNoNgZone,!1),autoDetect=this.get(ComponentFixtureAutoDetect,!1),ngZone=noNgZone?null:this.get(_angular_core.NgZone,null),testComponentRenderer=this.get(TestComponentRenderer),rootElId="root"+_nextRootElementId++;testComponentRenderer.insertRootElement(rootElId);var initComponent=function(){var componentRef=componentFactory.create(_angular_core.Injector.NULL,[],"#"+rootElId,_this._moduleRef);return new ComponentFixture(componentRef,ngZone,autoDetect)},fixture=ngZone?ngZone.run(initComponent):initComponent();return this._activeFixtures.push(fixture),fixture},TestBed}(),_testBed=null,InjectSetupWrapper=function(){function InjectSetupWrapper(_moduleDef){this._moduleDef=_moduleDef}return InjectSetupWrapper.prototype._addModule=function(){var moduleDef=this._moduleDef();moduleDef&&getTestBed().configureTestingModule(moduleDef)},InjectSetupWrapper.prototype.inject=function(tokens,fn){var self=this;return function(){return self._addModule(),inject(tokens,fn).call(this)}},InjectSetupWrapper}(),_global$1="undefined"==typeof window?global:window;_global$1.beforeEach&&_global$1.beforeEach(function(){TestBed.resetTestingModule(),resetFakeAsyncZone()});exports.async=async,exports.ComponentFixture=ComponentFixture,exports.resetFakeAsyncZone=resetFakeAsyncZone,exports.fakeAsync=fakeAsync,exports.tick=tick,exports.flush=flush,exports.discardPeriodicTasks=discardPeriodicTasks,exports.flushMicrotasks=flushMicrotasks,exports.TestComponentRenderer=TestComponentRenderer,exports.ComponentFixtureAutoDetect=ComponentFixtureAutoDetect,exports.ComponentFixtureNoNgZone=ComponentFixtureNoNgZone,exports.TestBed=TestBed,exports.getTestBed=getTestBed,exports.inject=inject,exports.InjectSetupWrapper=InjectSetupWrapper,exports.withModule=withModule,exports.__core_private_testing_placeholder__="",exports.ɵTestingCompiler=TestingCompiler,exports.ɵTestingCompilerFactory=TestingCompilerFactory,Object.defineProperty(exports,"__esModule",{value:!0})});
13
+ function unimplemented(){throw Error("unimplemented")}function getTestBed(){return _testBed=_testBed||new TestBed}function inject(tokens,fn){var testBed=getTestBed();return tokens.indexOf(AsyncTestCompleter)>=0?function(){var _this=this;return testBed.compileComponents().then(function(){var completer=testBed.get(AsyncTestCompleter);return testBed.execute(tokens,fn,_this),completer.promise})}:function(){return testBed.execute(tokens,fn,this)}}function withModule(moduleDef,fn){return fn?function(){var testBed=getTestBed();return moduleDef&&testBed.configureTestingModule(moduleDef),fn.apply(this)}:new InjectSetupWrapper(function(){return moduleDef})}var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])},_global="undefined"==typeof window?global:window,ComponentFixture=function(){function ComponentFixture(componentRef,ngZone,_autoDetect){var _this=this;this.componentRef=componentRef,this.ngZone=ngZone,this._autoDetect=_autoDetect,this._isStable=!0,this._isDestroyed=!1,this._resolve=null,this._promise=null,this._onUnstableSubscription=null,this._onStableSubscription=null,this._onMicrotaskEmptySubscription=null,this._onErrorSubscription=null,this.changeDetectorRef=componentRef.changeDetectorRef,this.elementRef=componentRef.location,this.debugElement=_angular_core.getDebugNode(this.elementRef.nativeElement),this.componentInstance=componentRef.instance,this.nativeElement=this.elementRef.nativeElement,this.componentRef=componentRef,this.ngZone=ngZone,ngZone&&ngZone.runOutsideAngular(function(){_this._onUnstableSubscription=ngZone.onUnstable.subscribe({next:function(){_this._isStable=!1}}),_this._onMicrotaskEmptySubscription=ngZone.onMicrotaskEmpty.subscribe({next:function(){_this._autoDetect&&_this.detectChanges(!0)}}),_this._onStableSubscription=ngZone.onStable.subscribe({next:function(){_this._isStable=!0,null!==_this._promise&&scheduleMicroTask(function(){ngZone.hasPendingMacrotasks||null!==_this._promise&&(_this._resolve(!0),_this._resolve=null,_this._promise=null)})}}),_this._onErrorSubscription=ngZone.onError.subscribe({next:function(error){throw error}})})}return ComponentFixture.prototype._tick=function(checkNoChanges){this.changeDetectorRef.detectChanges(),checkNoChanges&&this.checkNoChanges()},ComponentFixture.prototype.detectChanges=function(checkNoChanges){var _this=this;void 0===checkNoChanges&&(checkNoChanges=!0),null!=this.ngZone?this.ngZone.run(function(){_this._tick(checkNoChanges)}):this._tick(checkNoChanges)},ComponentFixture.prototype.checkNoChanges=function(){this.changeDetectorRef.checkNoChanges()},ComponentFixture.prototype.autoDetectChanges=function(autoDetect){if(void 0===autoDetect&&(autoDetect=!0),null==this.ngZone)throw new Error("Cannot call autoDetectChanges when ComponentFixtureNoNgZone is set");this._autoDetect=autoDetect,this.detectChanges()},ComponentFixture.prototype.isStable=function(){return this._isStable&&!this.ngZone.hasPendingMacrotasks},ComponentFixture.prototype.whenStable=function(){var _this=this;return this.isStable()?Promise.resolve(!1):null!==this._promise?this._promise:(this._promise=new Promise(function(res){_this._resolve=res}),this._promise)},ComponentFixture.prototype._getRenderer=function(){return void 0===this._renderer&&(this._renderer=this.componentRef.injector.get(_angular_core.RendererFactory2,null)),this._renderer},ComponentFixture.prototype.whenRenderingDone=function(){var renderer=this._getRenderer();return renderer&&renderer.whenRenderingDone?renderer.whenRenderingDone():this.whenStable()},ComponentFixture.prototype.destroy=function(){this._isDestroyed||(this.componentRef.destroy(),null!=this._onUnstableSubscription&&(this._onUnstableSubscription.unsubscribe(),this._onUnstableSubscription=null),null!=this._onStableSubscription&&(this._onStableSubscription.unsubscribe(),this._onStableSubscription=null),null!=this._onMicrotaskEmptySubscription&&(this._onMicrotaskEmptySubscription.unsubscribe(),this._onMicrotaskEmptySubscription=null),null!=this._onErrorSubscription&&(this._onErrorSubscription.unsubscribe(),this._onErrorSubscription=null),this._isDestroyed=!0)},ComponentFixture}(),FakeAsyncTestZoneSpec=Zone.FakeAsyncTestZoneSpec,ProxyZoneSpec=Zone.ProxyZoneSpec,_fakeAsyncTestZoneSpec=null,_inFakeAsyncCall=!1,AsyncTestCompleter=function(){function AsyncTestCompleter(){var _this=this;this._promise=new Promise(function(res,rej){_this._resolve=res,_this._reject=rej})}return AsyncTestCompleter.prototype.done=function(value){this._resolve(value)},AsyncTestCompleter.prototype.fail=function(error,stackTrace){this._reject(error)},Object.defineProperty(AsyncTestCompleter.prototype,"promise",{get:function(){return this._promise},enumerable:!0,configurable:!0}),AsyncTestCompleter}(),TestingCompiler=function(_super){function TestingCompiler(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(TestingCompiler,_super),Object.defineProperty(TestingCompiler.prototype,"injector",{get:function(){throw unimplemented()},enumerable:!0,configurable:!0}),TestingCompiler.prototype.overrideModule=function(module,overrides){throw unimplemented()},TestingCompiler.prototype.overrideDirective=function(directive,overrides){throw unimplemented()},TestingCompiler.prototype.overrideComponent=function(component,overrides){throw unimplemented()},TestingCompiler.prototype.overridePipe=function(directive,overrides){throw unimplemented()},TestingCompiler.prototype.loadAotSummaries=function(summaries){throw unimplemented()},TestingCompiler.prototype.getComponentFactory=function(component){throw unimplemented()},TestingCompiler.prototype.getComponentFromError=function(error){throw unimplemented()},TestingCompiler.decorators=[{type:_angular_core.Injectable}],TestingCompiler.ctorParameters=function(){return[]},TestingCompiler}(_angular_core.Compiler),TestingCompilerFactory=function(){function TestingCompilerFactory(){}return TestingCompilerFactory}(),UNDEFINED=new Object,TestComponentRenderer=function(){function TestComponentRenderer(){}return TestComponentRenderer.prototype.insertRootElement=function(rootElementId){},TestComponentRenderer}(),_nextRootElementId=0,ComponentFixtureAutoDetect=new _angular_core.InjectionToken("ComponentFixtureAutoDetect"),ComponentFixtureNoNgZone=new _angular_core.InjectionToken("ComponentFixtureNoNgZone"),TestBed=function(){function TestBed(){this._instantiated=!1,this._compiler=null,this._moduleRef=null,this._moduleFactory=null,this._compilerOptions=[],this._moduleOverrides=[],this._componentOverrides=[],this._directiveOverrides=[],this._pipeOverrides=[],this._providers=[],this._declarations=[],this._imports=[],this._schemas=[],this._activeFixtures=[],this._testEnvAotSummaries=function(){return[]},this._aotSummaries=[],this._templateOverrides=[],this.platform=null,this.ngModule=null}return TestBed.initTestEnvironment=function(ngModule,platform,aotSummaries){var testBed=getTestBed();return testBed.initTestEnvironment(ngModule,platform,aotSummaries),testBed},TestBed.resetTestEnvironment=function(){getTestBed().resetTestEnvironment()},TestBed.resetTestingModule=function(){return getTestBed().resetTestingModule(),TestBed},TestBed.configureCompiler=function(config){return getTestBed().configureCompiler(config),TestBed},TestBed.configureTestingModule=function(moduleDef){return getTestBed().configureTestingModule(moduleDef),TestBed},TestBed.compileComponents=function(){return getTestBed().compileComponents()},TestBed.overrideModule=function(ngModule,override){return getTestBed().overrideModule(ngModule,override),TestBed},TestBed.overrideComponent=function(component,override){return getTestBed().overrideComponent(component,override),TestBed},TestBed.overrideDirective=function(directive,override){return getTestBed().overrideDirective(directive,override),TestBed},TestBed.overridePipe=function(pipe,override){return getTestBed().overridePipe(pipe,override),TestBed},TestBed.overrideTemplate=function(component,template){return getTestBed().overrideComponent(component,{set:{template:template,templateUrl:null}}),TestBed},TestBed.overrideTemplateUsingTestingModule=function(component,template){return getTestBed().overrideTemplateUsingTestingModule(component,template),TestBed},TestBed.overrideProvider=function(token,provider){return getTestBed().overrideProvider(token,provider),TestBed},TestBed.deprecatedOverrideProvider=function(token,provider){return getTestBed().deprecatedOverrideProvider(token,provider),TestBed},TestBed.get=function(token,notFoundValue){return void 0===notFoundValue&&(notFoundValue=_angular_core.Injector.THROW_IF_NOT_FOUND),getTestBed().get(token,notFoundValue)},TestBed.createComponent=function(component){return getTestBed().createComponent(component)},TestBed.prototype.initTestEnvironment=function(ngModule,platform,aotSummaries){if(this.platform||this.ngModule)throw new Error("Cannot set base providers because it has already been called");this.platform=platform,this.ngModule=ngModule,aotSummaries&&(this._testEnvAotSummaries=aotSummaries)},TestBed.prototype.resetTestEnvironment=function(){this.resetTestingModule(),this.platform=null,this.ngModule=null,this._testEnvAotSummaries=function(){return[]}},TestBed.prototype.resetTestingModule=function(){_angular_core.ɵclearOverrides(),this._aotSummaries=[],this._templateOverrides=[],this._compiler=null,this._moduleOverrides=[],this._componentOverrides=[],this._directiveOverrides=[],this._pipeOverrides=[],this._moduleRef=null,this._moduleFactory=null,this._compilerOptions=[],this._providers=[],this._declarations=[],this._imports=[],this._schemas=[],this._instantiated=!1,this._activeFixtures.forEach(function(fixture){try{fixture.destroy()}catch(e){console.error("Error during cleanup of component",{component:fixture.componentInstance,stacktrace:e})}}),this._activeFixtures=[]},TestBed.prototype.configureCompiler=function(config){this._assertNotInstantiated("TestBed.configureCompiler","configure the compiler"),this._compilerOptions.push(config)},TestBed.prototype.configureTestingModule=function(moduleDef){this._assertNotInstantiated("TestBed.configureTestingModule","configure the test module"),moduleDef.providers&&(_a=this._providers).push.apply(_a,moduleDef.providers),moduleDef.declarations&&(_b=this._declarations).push.apply(_b,moduleDef.declarations),moduleDef.imports&&(_c=this._imports).push.apply(_c,moduleDef.imports),moduleDef.schemas&&(_d=this._schemas).push.apply(_d,moduleDef.schemas),moduleDef.aotSummaries&&this._aotSummaries.push(moduleDef.aotSummaries);var _a,_b,_c,_d},TestBed.prototype.compileComponents=function(){var _this=this;if(this._moduleFactory||this._instantiated)return Promise.resolve(null);var moduleType=this._createCompilerAndModule();return this._compiler.compileModuleAndAllComponentsAsync(moduleType).then(function(moduleAndComponentFactories){_this._moduleFactory=moduleAndComponentFactories.ngModuleFactory})},TestBed.prototype._initIfNeeded=function(){if(!this._instantiated){if(!this._moduleFactory)try{var moduleType=this._createCompilerAndModule();this._moduleFactory=this._compiler.compileModuleAndAllComponentsSync(moduleType).ngModuleFactory}catch(e){var errorCompType=this._compiler.getComponentFromError(e);throw errorCompType?new Error("This test module uses the component "+_angular_core.ɵstringify(errorCompType)+' which is using a "templateUrl" or "styleUrls", but they were never compiled. Please call "TestBed.compileComponents" before your test.'):e}for(var _i=0,_a=this._templateOverrides;_i<_a.length;_i++){var _b=_a[_i],component=_b.component,templateOf=_b.templateOf,compFactory=this._compiler.getComponentFactory(templateOf);_angular_core.ɵoverrideComponentView(component,compFactory)}var ngZone=new _angular_core.NgZone({enableLongStackTrace:!0}),providers=[{provide:_angular_core.NgZone,useValue:ngZone}],ngZoneInjector=_angular_core.Injector.create({providers:providers,parent:this.platform.injector,name:this._moduleFactory.moduleType.name});this._moduleRef=this._moduleFactory.create(ngZoneInjector),this._moduleRef.injector.get(_angular_core.ApplicationInitStatus).runInitializers(),this._instantiated=!0}},TestBed.prototype._createCompilerAndModule=function(){var _this=this,providers=this._providers.concat([{provide:TestBed,useValue:this}]),declarations=this._declarations.concat(this._templateOverrides.map(function(entry){return entry.templateOf})),imports=[this.ngModule,this._imports],schemas=this._schemas,DynamicTestModule=function(){function DynamicTestModule(){}return DynamicTestModule.decorators=[{type:_angular_core.NgModule,args:[{providers:providers,declarations:declarations,imports:imports,schemas:schemas}]}],DynamicTestModule.ctorParameters=function(){return[]},DynamicTestModule}(),compilerFactory=this.platform.injector.get(TestingCompilerFactory);this._compiler=compilerFactory.createTestingCompiler(this._compilerOptions);for(var _i=0,_a=[this._testEnvAotSummaries].concat(this._aotSummaries);_i<_a.length;_i++){var summary=_a[_i];this._compiler.loadAotSummaries(summary)}return this._moduleOverrides.forEach(function(entry){return _this._compiler.overrideModule(entry[0],entry[1])}),this._componentOverrides.forEach(function(entry){return _this._compiler.overrideComponent(entry[0],entry[1])}),this._directiveOverrides.forEach(function(entry){return _this._compiler.overrideDirective(entry[0],entry[1])}),this._pipeOverrides.forEach(function(entry){return _this._compiler.overridePipe(entry[0],entry[1])}),DynamicTestModule},TestBed.prototype._assertNotInstantiated=function(methodName,methodDescription){if(this._instantiated)throw new Error("Cannot "+methodDescription+" when the test module has already been instantiated. Make sure you are not using `inject` before `"+methodName+"`.")},TestBed.prototype.get=function(token,notFoundValue){if(void 0===notFoundValue&&(notFoundValue=_angular_core.Injector.THROW_IF_NOT_FOUND),this._initIfNeeded(),token===TestBed)return this;var result=this._moduleRef.injector.get(token,UNDEFINED);return result===UNDEFINED?this._compiler.injector.get(token,notFoundValue):result},TestBed.prototype.execute=function(tokens,fn,context){var _this=this;this._initIfNeeded();var params=tokens.map(function(t){return _this.get(t)});return fn.apply(context,params)},TestBed.prototype.overrideModule=function(ngModule,override){this._assertNotInstantiated("overrideModule","override module metadata"),this._moduleOverrides.push([ngModule,override])},TestBed.prototype.overrideComponent=function(component,override){this._assertNotInstantiated("overrideComponent","override component metadata"),this._componentOverrides.push([component,override])},TestBed.prototype.overrideDirective=function(directive,override){this._assertNotInstantiated("overrideDirective","override directive metadata"),this._directiveOverrides.push([directive,override])},TestBed.prototype.overridePipe=function(pipe,override){this._assertNotInstantiated("overridePipe","override pipe metadata"),this._pipeOverrides.push([pipe,override])},TestBed.prototype.overrideProvider=function(token,provider){this.overrideProviderImpl(token,provider)},TestBed.prototype.deprecatedOverrideProvider=function(token,provider){this.overrideProviderImpl(token,provider,!0)},TestBed.prototype.overrideProviderImpl=function(token,provider,deprecated){void 0===deprecated&&(deprecated=!1);var value,flags=0;provider.useFactory?(flags|=1024,value=provider.useFactory):(flags|=256,value=provider.useValue);var deps=(provider.deps||[]).map(function(dep){var depToken,depFlags=0;return Array.isArray(dep)?dep.forEach(function(entry){entry instanceof _angular_core.Optional?depFlags|=2:entry instanceof _angular_core.SkipSelf?depFlags|=1:depToken=entry}):depToken=dep,[depFlags,depToken]});_angular_core.ɵoverrideProvider({token:token,flags:flags,deps:deps,value:value,deprecatedBehavior:deprecated})},TestBed.prototype.overrideTemplateUsingTestingModule=function(component,template){this._assertNotInstantiated("overrideTemplateUsingTestingModule","override template");var OverrideComponent=function(){function OverrideComponent(){}return OverrideComponent.decorators=[{type:_angular_core.Component,args:[{selector:"empty",template:template}]}],OverrideComponent.ctorParameters=function(){return[]},OverrideComponent}();this._templateOverrides.push({component:component,templateOf:OverrideComponent})},TestBed.prototype.createComponent=function(component){var _this=this;this._initIfNeeded();var componentFactory=this._compiler.getComponentFactory(component);if(!componentFactory)throw new Error("Cannot create the component "+_angular_core.ɵstringify(component)+" as it was not imported into the testing module!");var noNgZone=this.get(ComponentFixtureNoNgZone,!1),autoDetect=this.get(ComponentFixtureAutoDetect,!1),ngZone=noNgZone?null:this.get(_angular_core.NgZone,null),testComponentRenderer=this.get(TestComponentRenderer),rootElId="root"+_nextRootElementId++;testComponentRenderer.insertRootElement(rootElId);var initComponent=function(){var componentRef=componentFactory.create(_angular_core.Injector.NULL,[],"#"+rootElId,_this._moduleRef);return new ComponentFixture(componentRef,ngZone,autoDetect)},fixture=ngZone?ngZone.run(initComponent):initComponent();return this._activeFixtures.push(fixture),fixture},TestBed}(),_testBed=null,InjectSetupWrapper=function(){function InjectSetupWrapper(_moduleDef){this._moduleDef=_moduleDef}return InjectSetupWrapper.prototype._addModule=function(){var moduleDef=this._moduleDef();moduleDef&&getTestBed().configureTestingModule(moduleDef)},InjectSetupWrapper.prototype.inject=function(tokens,fn){var self=this;return function(){return self._addModule(),inject(tokens,fn).call(this)}},InjectSetupWrapper}(),_global$1="undefined"==typeof window?global:window;_global$1.beforeEach&&_global$1.beforeEach(function(){TestBed.resetTestingModule(),resetFakeAsyncZone()});exports.async=async,exports.ComponentFixture=ComponentFixture,exports.resetFakeAsyncZone=resetFakeAsyncZone,exports.fakeAsync=fakeAsync,exports.tick=tick,exports.flush=flush,exports.discardPeriodicTasks=discardPeriodicTasks,exports.flushMicrotasks=flushMicrotasks,exports.TestComponentRenderer=TestComponentRenderer,exports.ComponentFixtureAutoDetect=ComponentFixtureAutoDetect,exports.ComponentFixtureNoNgZone=ComponentFixtureNoNgZone,exports.TestBed=TestBed,exports.getTestBed=getTestBed,exports.inject=inject,exports.InjectSetupWrapper=InjectSetupWrapper,exports.withModule=withModule,exports.__core_private_testing_placeholder__="",exports.ɵTestingCompiler=TestingCompiler,exports.ɵTestingCompilerFactory=TestingCompilerFactory,Object.defineProperty(exports,"__esModule",{value:!0})});
14
14
  //# sourceMappingURL=core-testing.umd.min.js.map