Buckets:
ktongue/docker_container / .vscode-server /extensions /formulahendry.code-runner-0.12.2 /node_modules /zone.js /dist /jasmine-patch.js
| /** | |
| * @license | |
| * Copyright Google Inc. All Rights Reserved. | |
| * | |
| * Use of this source code is governed by an MIT-style license that can be | |
| * found in the LICENSE file at https://angular.io/license | |
| */ | |
| (function (global, factory) { | |
| typeof exports === 'object' && typeof module !== 'undefined' ? factory() : | |
| typeof define === 'function' && define.amd ? define(factory) : | |
| (factory()); | |
| }(this, (function () { 'use strict'; | |
| /** | |
| * @license | |
| * Copyright Google Inc. All Rights Reserved. | |
| * | |
| * Use of this source code is governed by an MIT-style license that can be | |
| * found in the LICENSE file at https://angular.io/license | |
| */ | |
| (function () { | |
| var __extends = function (d, b) { | |
| for (var p in b) | |
| if (b.hasOwnProperty(p)) | |
| d[p] = b[p]; | |
| function __() { | |
| this.constructor = d; | |
| } | |
| d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | |
| }; | |
| // Patch jasmine's describe/it/beforeEach/afterEach functions so test code always runs | |
| // in a testZone (ProxyZone). (See: angular/zone.js#91 & angular/angular#10503) | |
| if (!Zone) | |
| throw new Error('Missing: zone.js'); | |
| if (typeof jasmine == 'undefined') | |
| throw new Error('Missing: jasmine.js'); | |
| if (jasmine['__zone_patch__']) | |
| throw new Error('\'jasmine\' has already been patched with \'Zone\'.'); | |
| jasmine['__zone_patch__'] = true; | |
| var SyncTestZoneSpec = Zone['SyncTestZoneSpec']; | |
| var ProxyZoneSpec = Zone['ProxyZoneSpec']; | |
| if (!SyncTestZoneSpec) | |
| throw new Error('Missing: SyncTestZoneSpec'); | |
| if (!ProxyZoneSpec) | |
| throw new Error('Missing: ProxyZoneSpec'); | |
| var ambientZone = Zone.current; | |
| // Create a synchronous-only zone in which to run `describe` blocks in order to raise an | |
| // error if any asynchronous operations are attempted inside of a `describe` but outside of | |
| // a `beforeEach` or `it`. | |
| var syncZone = ambientZone.fork(new SyncTestZoneSpec('jasmine.describe')); | |
| // This is the zone which will be used for running individual tests. | |
| // It will be a proxy zone, so that the tests function can retroactively install | |
| // different zones. | |
| // Example: | |
| // - In beforeEach() do childZone = Zone.current.fork(...); | |
| // - In it() try to do fakeAsync(). The issue is that because the beforeEach forked the | |
| // zone outside of fakeAsync it will be able to escope the fakeAsync rules. | |
| // - Because ProxyZone is parent fo `childZone` fakeAsync can retroactively add | |
| // fakeAsync behavior to the childZone. | |
| var testProxyZone = null; | |
| // Monkey patch all of the jasmine DSL so that each function runs in appropriate zone. | |
| var jasmineEnv = jasmine.getEnv(); | |
| ['describe', 'xdescribe', 'fdescribe'].forEach(function (methodName) { | |
| var originalJasmineFn = jasmineEnv[methodName]; | |
| jasmineEnv[methodName] = function (description, specDefinitions) { | |
| return originalJasmineFn.call(this, description, wrapDescribeInZone(specDefinitions)); | |
| }; | |
| }); | |
| ['it', 'xit', 'fit'].forEach(function (methodName) { | |
| var originalJasmineFn = jasmineEnv[methodName]; | |
| jasmineEnv[methodName] = function (description, specDefinitions, timeout) { | |
| arguments[1] = wrapTestInZone(specDefinitions); | |
| return originalJasmineFn.apply(this, arguments); | |
| }; | |
| }); | |
| ['beforeEach', 'afterEach'].forEach(function (methodName) { | |
| var originalJasmineFn = jasmineEnv[methodName]; | |
| jasmineEnv[methodName] = function (specDefinitions, timeout) { | |
| arguments[0] = wrapTestInZone(specDefinitions); | |
| return originalJasmineFn.apply(this, arguments); | |
| }; | |
| }); | |
| /** | |
| * Gets a function wrapping the body of a Jasmine `describe` block to execute in a | |
| * synchronous-only zone. | |
| */ | |
| function wrapDescribeInZone(describeBody) { | |
| return function () { | |
| return syncZone.run(describeBody, this, arguments); | |
| }; | |
| } | |
| /** | |
| * Gets a function wrapping the body of a Jasmine `it/beforeEach/afterEach` block to | |
| * execute in a ProxyZone zone. | |
| * This will run in `testProxyZone`. The `testProxyZone` will be reset by the `ZoneQueueRunner` | |
| */ | |
| function wrapTestInZone(testBody) { | |
| // The `done` callback is only passed through if the function expects at least one argument. | |
| // Note we have to make a function with correct number of arguments, otherwise jasmine will | |
| // think that all functions are sync or async. | |
| return (testBody.length == 0) ? function () { | |
| return testProxyZone.run(testBody, this); | |
| } : function (done) { | |
| return testProxyZone.run(testBody, this, [done]); | |
| }; | |
| } | |
| var QueueRunner = jasmine.QueueRunner; | |
| jasmine.QueueRunner = (function (_super) { | |
| __extends(ZoneQueueRunner, _super); | |
| function ZoneQueueRunner(attrs) { | |
| attrs.onComplete = (function (fn) { return function () { | |
| // All functions are done, clear the test zone. | |
| testProxyZone = null; | |
| ambientZone.scheduleMicroTask('jasmine.onComplete', fn); | |
| }; })(attrs.onComplete); | |
| _super.call(this, attrs); | |
| } | |
| ZoneQueueRunner.prototype.execute = function () { | |
| var _this = this; | |
| if (Zone.current !== ambientZone) | |
| throw new Error('Unexpected Zone: ' + Zone.current.name); | |
| testProxyZone = ambientZone.fork(new ProxyZoneSpec()); | |
| if (!Zone.currentTask) { | |
| // if we are not running in a task then if someone would register a | |
| // element.addEventListener and then calling element.click() the | |
| // addEventListener callback would think that it is the top most task and would | |
| // drain the microtask queue on element.click() which would be incorrect. | |
| // For this reason we always force a task when running jasmine tests. | |
| Zone.current.scheduleMicroTask('jasmine.execute().forceTask', function () { return QueueRunner.prototype.execute.call(_this); }); | |
| } | |
| else { | |
| _super.prototype.execute.call(this); | |
| } | |
| }; | |
| return ZoneQueueRunner; | |
| }(QueueRunner)); | |
| })(); | |
| }))); | |
Xet Storage Details
- Size:
- 6.36 kB
- Xet hash:
- ca453ce942206b6477a4216064a44539a24991b0c4e9e8de5af2cdc425eb91b1
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.