blob: 016466a6a52e1aa1d6e9c040874a9271e0623c0f [file] [log] [blame]
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n():"function"==typeof define&&define.amd?define(n):n()}(0,function(){"use strict";!function(){var e="undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global;if(!Zone)throw new Error("Missing: zone.js");if("undefined"==typeof jasmine)throw new Error("Missing: jasmine.js");if(jasmine.__zone_patch__)throw new Error("'jasmine' has already been patched with 'Zone'.");jasmine.__zone_patch__=!0;var n=Zone.SyncTestZoneSpec,t=Zone.ProxyZoneSpec;if(!n)throw new Error("Missing: SyncTestZoneSpec");if(!t)throw new Error("Missing: ProxyZoneSpec");var o=Zone.current,r=o.fork(new n("jasmine.describe")),i=Zone.__symbol__,s=!0===e[i("fakeAsyncDisablePatchingClock")],c=!s&&(!0===e[i("fakeAsyncPatchLock")]||!0===e[i("fakeAsyncAutoFakeAsyncWhenClockPatched")]);if(!(!0===e[i("ignoreUnhandledRejection")])){var a=jasmine.GlobalErrors;a&&!jasmine[i("GlobalErrors")]&&(jasmine[i("GlobalErrors")]=a,jasmine.GlobalErrors=function(){var e=new a,n=e.install;return n&&!e[i("install")]&&(e[i("install")]=n,e.install=function(){var e=process.listeners("unhandledRejection"),t=n.apply(this,arguments);return process.removeAllListeners("unhandledRejection"),e&&e.forEach(function(e){return process.on("unhandledRejection",e)}),t}),e})}var u=jasmine.getEnv();if(["describe","xdescribe","fdescribe"].forEach(function(e){var n=u[e];u[e]=function(e,t){return n.call(this,e,(o=t,function(){return r.run(o,this,arguments)}));var o}}),["it","xit","fit"].forEach(function(e){var n=u[e];u[i(e)]=n,u[e]=function(e,t,o){return arguments[1]=p(t),n.apply(this,arguments)}}),["beforeEach","afterEach","beforeAll","afterAll"].forEach(function(e){var n=u[e];u[i(e)]=n,u[e]=function(e,t){return arguments[0]=p(e),n.apply(this,arguments)}}),!s){var l=jasmine[i("clock")]=jasmine.clock;jasmine.clock=function(){var e=l.apply(this,arguments);if(!e[i("patched")]){e[i("patched")]=i("patched");var n=e[i("tick")]=e.tick;e.tick=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");return e?e.tick.apply(e,arguments):n.apply(this,arguments)};var t=e[i("mockDate")]=e.mockDate;e.mockDate=function(){var e=Zone.current.get("FakeAsyncTestZoneSpec");if(e){var n=arguments.length>0?arguments[0]:new Date;return e.setCurrentRealTime.apply(e,n&&"function"==typeof n.getTime?[n.getTime()]:arguments)}return t.apply(this,arguments)},c&&["install","uninstall"].forEach(function(n){var t=e[i(n)]=e[n];e[n]=function(){if(!Zone.FakeAsyncTestZoneSpec)return t.apply(this,arguments);jasmine[i("clockInstalled")]="install"===n}})}return e}}function f(e,n,t,o){var r=!!jasmine[i("clockInstalled")],s=(t.testProxyZoneSpec,t.testProxyZone);if(r&&c){var a=Zone[Zone.__symbol__("fakeAsyncTest")];a&&"function"==typeof a.fakeAsync&&(e=a.fakeAsync(e))}return o?s.run(e,n,[o]):s.run(e,n)}function p(e){return e&&(e.length?function(n){return f(e,this,this.queueRunner,n)}:function(){return f(e,this,this.queueRunner)})}var h=jasmine.QueueRunner;jasmine.QueueRunner=function(n){function r(t){var r,i=this;t.onComplete=(r=t.onComplete,function(){i.testProxyZone=null,i.testProxyZoneSpec=null,o.scheduleMicroTask("jasmine.onComplete",r)});var s=e.__zone_symbol__setTimeout,c=e.__zone_symbol__clearTimeout;s&&(t.timeout={setTimeout:s||e.setTimeout,clearTimeout:c||e.clearTimeout}),jasmine.UserContext?(t.userContext||(t.userContext=new jasmine.UserContext),t.userContext.queueRunner=this):(t.userContext||(t.userContext={}),t.userContext.queueRunner=this);var a=t.onException;t.onException=function(e){if(e&&"Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL."===e.message){var n=this&&this.testProxyZoneSpec;if(n){var t=n.getAndClearPendingTasksInfo();try{e.message+=t}catch(e){}}}a&&a.call(this,e)},n.call(this,t)}return function(e,n){for(var t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);function o(){this.constructor=e}e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}(r,n),r.prototype.execute=function(){for(var e=this,r=Zone.current,i=!1;r;){if(r===o){i=!0;break}r=r.parent}if(!i)throw new Error("Unexpected Zone: "+Zone.current.name);this.testProxyZoneSpec=new t,this.testProxyZone=o.fork(this.testProxyZoneSpec),Zone.currentTask?n.prototype.execute.call(this):Zone.current.scheduleMicroTask("jasmine.execute().forceTask",function(){return h.prototype.execute.call(e)})},r}(h)}()});