@tsdi/unit
Version:
unit testing framework, base on AOP, Ioc container
3 lines (2 loc) • 26.7 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("tslib"),require("@tsdi/ioc"),require("@tsdi/boot"),require("@tsdi/aop"),require("@tsdi/logs"),require("@tsdi/core"),require("assert"),require("expect")):"function"==typeof define&&define.amd?define(["tslib","@tsdi/ioc","@tsdi/boot","@tsdi/aop","@tsdi/logs","@tsdi/core","assert","expect"],t):((e=e||self).unit=e.unit||{},e.unit.umd=t(e.tslib,e.ioc,e.boot,e.aop,e.logs,e.core,e.assert$1,e.expect))}(this,(function(e,t,r,n,o,i,u,s){"use strict";e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e,t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r,n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n,o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,i=i&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i,u=u&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u,s=s&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s;var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function f(e,t){return e(t={exports:{}},t.exports),t.exports}var p=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})}));c(p);var d=f((function(r,n){function o(r,n){return t.createClassDecorator("Suite",e.__spreadArrays(r||[],[function(e,r){var n=e.currArg;t.isString(n)&&(e.metadata.describe=n,e.next(r))},function(e,r){var n=e.currArg;t.isNumber(n)&&(e.metadata.timeout=n,e.next(r))}]),(function(e){return n&&n(e),e.singleton=!0,e}))}function i(r,n,o,i){return t.createMethodDecorator(r,e.__spreadArrays(n?t.isArray(n)?n:[n]:[],[function(e,r){var n=e.currArg;t.isNumber(n)&&(e.metadata.timeout=n,e.next(r))}],o?t.isArray(o)?o:[o]:[]),i)}Object.defineProperty(n,"__esModule",{value:!0}),n.AfterEach=n.After=n.AfterAll=n.BeforeEach=n.Before=n.BeforeAll=n.Test=n.createTestDecorator=n.Suite=n.createSuiteDecorator=void 0,n.createSuiteDecorator=o,n.Suite=o(),n.createTestDecorator=i,n.Test=i("TestCase",(function(e,r){var n=e.currArg;t.isString(n)&&(e.metadata.title=n,e.next(r))}),(function(e,r){var n=e.currArg;t.isNumber(n)&&(e.metadata.setp=n,e.next(r))})),n.BeforeAll=i("BeforeAll"),n.Before=n.BeforeAll,n.BeforeEach=i("TestBeforeEach"),n.AfterAll=i("AfterAll"),n.After=n.AfterAll,n.AfterEach=i("TestAfterEach")}));c(d);d.AfterEach,d.After,d.AfterAll,d.BeforeEach,d.Before,d.BeforeAll,d.Test,d.createTestDecorator,d.Suite,d.createSuiteDecorator;var l=f((function(r,n){Object.defineProperty(n,"__esModule",{value:!0}),n.Assert=n.RunCaseToken=n.RunSuiteToken=void 0,n.RunSuiteToken=t.tokenId("runSuite"),n.RunCaseToken=t.tokenId("runCase");var o=function(){function r(){}return r.ρAnn=function(){return{name:"Assert",params:{fail:["actual","expected","message","operator"],ok:["value","message"],equal:["actual","expected","message"],notEqual:["actual","expected","message"],deepEqual:["actual","expected","message"],notDeepEqual:["acutal","expected","message"],strictEqual:["actual","expected","message"],notStrictEqual:["actual","expected","message"],deepStrictEqual:["actual","expected","message"],notDeepStrictEqual:["actual","expected","message"],throws:["block","error","message"],doesNotThrow:["block","error","message"],ifError:["value"],rejects:["block","error","message"],doesNotReject:["block","error","message"]}}},r=e.__decorate([t.Abstract()],r)}();n.Assert=o}));c(l);l.Assert,l.RunCaseToken,l.RunSuiteToken;var h=f((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.ExpectToken=void 0,r.ExpectToken=t.tokenId("unit-expect")}));c(h);h.ExpectToken;var _=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})}));c(_);var g=f((function(n,o){Object.defineProperty(o,"__esModule",{value:!0}),o.SuiteRunner=void 0;var i=function(n){function o(){return null!==n&&n.apply(this,arguments)||this}return e.__extends(o,n),o.prototype.configureService=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){return this.context=t,[2]}))}))},o.prototype.getSuiteDescribe=function(){var e=this.context.getTargetReflect().getAnnoation();return this.timeout=e&&e.timeout?e.timeout:108e5,this.describe=e.describe||t.lang.getClassName(this.getBootType()),{timeout:this.timeout,describe:this.describe,cases:[]}},o.prototype.run=function(t){return e.__awaiter(this,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),t=this.getSuiteDescribe(),[4,this.runSuite(t)];case 1:return e.sent(),[3,3];case 2:return e.sent(),[3,3];case 3:return[2]}}))}))},o.prototype.runSuite=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.runBefore(t)];case 1:return e.sent(),[4,this.runTest(t)];case 2:return e.sent(),[4,this.runAfter(t)];case 3:return e.sent(),[2]}}))}))},o.prototype.runTimeout=function(e,r,n){var o=this.getBoot(),i=t.PromiseUtil.defer(),u=this.getContext().injector,s=setTimeout((function(){if(s){clearTimeout(s);var t=new(u.resolve(l.Assert).AssertionError)({message:r+", timeout "+n,stackStartFunction:o[e],stackStartFn:o[e]});i.reject(t)}}),n||this.timeout);return Promise.resolve(u.invoke(o,e,{provide:l.RunCaseToken,useValue:o[e]},{provide:l.RunSuiteToken,useValue:o})).then((function(e){clearTimeout(s),s=null,i.resolve(e)})).catch((function(e){clearTimeout(s),s=null,i.reject(e)})),i.promise},o.prototype.runBefore=function(r){return e.__awaiter(this,void 0,void 0,(function(){var n,o=this;return e.__generator(this,(function(e){switch(e.label){case 0:return n=this.context.reflects.getMethodMetadata(d.Before,this.getBoot()),[4,t.PromiseUtil.step(Object.keys(n).map((function(e){return function(){var i=n[e].find((function(e){return t.isNumber(e.timeout)}));return o.runTimeout(e,"sutie before "+e,i?i.timeout:r.timeout)}})))];case 1:return e.sent(),[2]}}))}))},o.prototype.runBeforeEach=function(){return e.__awaiter(this,void 0,void 0,(function(){var r,n=this;return e.__generator(this,(function(e){switch(e.label){case 0:return r=this.context.reflects.getMethodMetadata(d.BeforeEach,this.getBoot()),[4,t.PromiseUtil.step(Object.keys(r).map((function(e){return function(){var o=r[e].find((function(e){return t.isNumber(e.timeout)}));return n.runTimeout(e,"before each "+e,o?o.timeout:n.timeout)}})))];case 1:return e.sent(),[2]}}))}))},o.prototype.runAfterEach=function(){return e.__awaiter(this,void 0,void 0,(function(){var r,n=this;return e.__generator(this,(function(e){switch(e.label){case 0:return r=this.context.reflects.getMethodMetadata(d.AfterEach,this.getBoot()),[4,t.PromiseUtil.step(Object.keys(r).map((function(e){return function(){var o=r[e].find((function(e){return t.isNumber(e.timeout)}));return n.runTimeout(e,"after each "+e,o?o.timeout:n.timeout)}})))];case 1:return e.sent(),[2]}}))}))},o.prototype.runAfter=function(r){return e.__awaiter(this,void 0,void 0,(function(){var n,o=this;return e.__generator(this,(function(e){switch(e.label){case 0:return n=this.context.reflects.getMethodMetadata(d.After,this.getBoot()),[4,t.PromiseUtil.step(Object.keys(n).map((function(e){return function(){var i=n[e].find((function(e){return t.isNumber(e.timeout)}));return o.runTimeout(e,"sutie after "+e,i?i.timeout:r.timeout)}})))];case 1:return e.sent(),[2]}}))}))},o.prototype.runTest=function(r){return e.__awaiter(this,void 0,void 0,(function(){var r,n,o=this;return e.__generator(this,(function(e){switch(e.label){case 0:return r=this.context.reflects.getMethodMetadata(d.Test,this.getBoot()),n=Object.keys(r),[4,t.PromiseUtil.step(n.map((function(e){var i=r[e].find((function(e){return t.isNumber(e.setp)})),u=r[e].find((function(e){return t.isNumber(e.timeout)})),s=r[e].map((function(e){return e.title})).filter((function(e){return e})).join("; ");return{key:e,order:i?i.setp:n.length,timeout:u?u.timeout:o.timeout,title:s||e}})).sort((function(e,t){return t.order-e.order})).map((function(e){return function(){return o.runCase(e)}})))];case 1:return e.sent(),[2]}}))}))},o.prototype.runCase=function(t){return e.__awaiter(this,void 0,void 0,(function(){var r;return e.__generator(this,(function(e){switch(e.label){case 0:return e.trys.push([0,4,,5]),[4,this.runBeforeEach()];case 1:return e.sent(),[4,this.runTimeout(t.key,t.title,t.timeout)];case 2:return e.sent(),[4,this.runAfterEach()];case 3:return e.sent(),[3,5];case 4:return r=e.sent(),t.error=r,[3,5];case 5:return[2,t]}}))}))},o.ρAnn=function(){return{name:"SuiteRunner",params:{configureService:["ctx"],run:["data"],runSuite:["desc"],runTimeout:["key","describe","timeout"],runBefore:["describe"],runAfter:["describe"],runTest:["desc"],runCase:["caseDesc"]}}},o=e.__decorate([t.Injectable(),t.Refs("@Suite",r.Startup)],o)}(r.Runnable);o.SuiteRunner=i}));c(g);g.SuiteRunner;var m=f((function(r,n){Object.defineProperty(n,"__esModule",{value:!0}),n.OldTestRunner=void 0;var o={describe:void 0,suite:void 0,it:void 0,test:void 0,before:void 0,beforeAll:void 0,beforeEach:void 0,after:void 0,afterAll:void 0,afterEach:void 0},i=Object.keys(o),u="undefined"!=typeof window?window:a,s=function(r){function n(e){var t=r.call(this)||this;return t.suites=[],t.timeout=e||108e5,t}return e.__extends(n,r),n.prototype.configureService=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){return[2]}))}))},n.prototype.getContext=function(){return null},n.prototype.getBootType=function(){return null},n.prototype.getBoot=function(){return this.suites},n.prototype.registerGlobalScope=function(){i.forEach((function(e){o[e]=u[e]}));var r=this.suites,n=u.describe=function(o,i,s){if(t.isFunction(i)){var a=e.__assign(e.__assign({},s),{describe:o,cases:[]});r.push(a),u.describe=function(e,t){n(o+" "+e,t,a)},u.it=function(e,r,n){t.isFunction(r)&&a.cases.push({title:e,key:"",fn:r,timeout:n})},u.before=u.beforeAll=function(e,r){t.isFunction(e)&&(a.before=a.before||[],a.before.push({fn:e,timeout:r}))},u.beforeEach=function(e,r){t.isFunction(e)&&(a.beforeEach=a.beforeEach||[],a.beforeEach.push({fn:e,timeout:r}))},u.after=u.afterAll=function(e,r){t.isFunction(e)&&(a.after=a.after||[],a.after.push({fn:e,timeout:r}))},u.afterEach=function(e,r){t.isFunction(e)&&(a.afterEach=a.afterEach||[],a.afterEach.push({fn:e,timeout:r}))},i&&i(),u.describe=n}},s=u.suite=function(t,n,o){var i=e.__assign(e.__assign({},o),{describe:t,cases:[]});r.push(i),u.suite=function(e,r){s(t+" "+e,r,i)},u.test=function(e,t,r){i.cases.push({title:e,key:"",fn:t,timeout:r})},u.before=u.beforeAll=function(e,t){i.before=i.before||[],i.before.push({fn:e,timeout:t})},u.beforeEach=function(e,t){i.beforeEach=i.beforeEach||[],i.beforeEach.push({fn:e,timeout:t})},u.after=u.afterAll=function(e,t){i.after=i.after||[],i.after.push({fn:e,timeout:t})},u.afterEach=function(e,t){i.afterEach=i.afterEach||[],i.afterEach.push({fn:e,timeout:t})},n&&n(),u.suite=s}},n.prototype.unregisterGlobalScope=function(){i.forEach((function(e){u[e]=o[e]}))},n.prototype.startup=function(){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){return[2,this.run()]}))}))},n.prototype.run=function(){return e.__awaiter(this,void 0,void 0,(function(){var r=this;return e.__generator(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,t.PromiseUtil.step(this.suites.map((function(e){return e.cases.length?function(){return r.runSuite(e)}:function(){return Promise.resolve()}})))];case 1:return e.sent(),[3,3];case 2:return e.sent(),[3,3];case 3:return[2]}}))}))},n.prototype.runSuite=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.runBefore(t)];case 1:return e.sent(),[4,this.runTest(t)];case 2:return e.sent(),[4,this.runAfter(t)];case 3:return e.sent(),[2]}}))}))},n.prototype.runTimeout=function(e,r,n){var o=this,i=t.PromiseUtil.defer(),u=setTimeout((function(){if(u){clearTimeout(u);var t=new(o.injector.resolve(l.Assert).AssertionError)({message:r+", timeout "+n,stackStartFunction:e,stackStartFn:e});i.reject(t)}}),n||this.timeout);return Promise.resolve(e((function(){return i.resolve()}))).then((function(e){clearTimeout(u),u=null,i.resolve(e)})).catch((function(e){clearTimeout(u),u=null,i.reject(e)})),i.promise},n.prototype.runHook=function(r,n,o){return e.__awaiter(this,void 0,void 0,(function(){var i=this;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,t.PromiseUtil.step((r[n]||[]).map((function(e){return function(){return i.runTimeout(e.fn,o,e.timeout||r.timeout)}})))];case 1:return e.sent(),[2]}}))}))},n.prototype.runBefore=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.runHook(t,"before","suite before")];case 1:return e.sent(),[2]}}))}))},n.prototype.runBeforeEach=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.runHook(t,"beforeEach","before each")];case 1:return e.sent(),[2]}}))}))},n.prototype.runAfterEach=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.runHook(t,"afterEach","after case each")];case 1:return e.sent(),[2]}}))}))},n.prototype.runAfter=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.runHook(t,"after","suite after")];case 1:return e.sent(),[2]}}))}))},n.prototype.runTest=function(r){return e.__awaiter(this,void 0,void 0,(function(){var n=this;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,t.PromiseUtil.step(r.cases.map((function(e){return function(){return n.runCase(e,r)}})))];case 1:return e.sent(),[2]}}))}))},n.prototype.runCase=function(t,r){return e.__awaiter(this,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){switch(e.label){case 0:return e.trys.push([0,4,,5]),[4,this.runBeforeEach(r)];case 1:return e.sent(),[4,this.runTimeout(t.fn,t.title,t.timeout)];case 2:return e.sent(),[4,this.runAfterEach(r)];case 3:return e.sent(),[3,5];case 4:return n=e.sent(),t.error=n,[3,5];case 5:return[2,t]}}))}))},n.prototype.destroying=function(){},n.ρAnn=function(){return{name:"OldTestRunner",params:{configureService:["ctx"],constructor:["timeout"],runSuite:["desc"],runTimeout:["fn","describe","timeout"],runHook:["describe","action","desc"],runBefore:["describe"],runBeforeEach:["describe"],runAfterEach:["describe"],runAfter:["describe"],runTest:["desc"],runCase:["caseDesc","suiteDesc"]}}},e.__decorate([t.Inject(t.INJECTOR),e.__metadata("design:type",Object)],n.prototype,"injector",void 0),n=e.__decorate([t.Singleton,e.__metadata("design:paramtypes",[Number])],n)}(t.Destoryable);n.OldTestRunner=s}));c(m);m.OldTestRunner;var v=f((function(r,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isReporterClass=n.RealtimeReporter=n.Reporter=void 0;var o=function(){function r(){}return r.ρAnn=function(){return{name:"Reporter",params:{render:["suites"],track:["error"]}}},r=e.__decorate([t.Abstract(),e.__metadata("design:paramtypes",[])],r)}();n.Reporter=o;var i=function(r){function n(){return r.call(this)||this}return e.__extends(n,r),n.ρAnn=function(){return{name:"RealtimeReporter",params:{renderSuite:["desc"],renderCase:["desc"]}}},n=e.__decorate([t.Abstract(),e.__metadata("design:paramtypes",[])],n)}(o);n.RealtimeReporter=i,n.isReporterClass=function(e){return t.isClass(e)&&t.lang.isExtendsClass(e,o)}}));c(v);v.isReporterClass,v.RealtimeReporter,v.Reporter;var y=f((function(r,n){Object.defineProperty(n,"__esModule",{value:!0}),n.TestReport=n.ReportsToken=void 0,n.ReportsToken=t.tokenId("unit-reports");var o=function(){function r(){this.suites=new Map}return r.prototype.getReports=function(){return(!this.resports||this.resports.length<0)&&(this.resports=this.injector.getServices(v.Reporter)),this.resports||[]},r.prototype.track=function(e){this.resports.forEach((function(t){t.track(e)}))},r.prototype.addSuite=function(r,n){var o=this;this.suites.has(r)||(n.start=(new Date).getTime(),n.cases.length&&(n=t.lang.omit(n,"cases")),n.cases=[],this.suites.set(r,n),this.getReports().forEach((function(t){return e.__awaiter(o,void 0,void 0,(function(){return e.__generator(this,(function(e){return t instanceof v.RealtimeReporter&&t.renderSuite(n),[2]}))}))})))},r.prototype.getSuite=function(e){return this.suites.has(e)?this.suites.get(e):null},r.prototype.setSuiteCompleted=function(e){var t=this.getSuite(e);t&&(t.end=(new Date).getTime())},r.prototype.addCase=function(e,t){this.suites.has(e)&&(t.start=(new Date).getTime(),this.suites.get(e).cases.push(t))},r.prototype.getCase=function(e,t){var r=this.getSuite(e);if(r){var n=r.cases.find((function(e){return e.key===t}));return n||(n=r.cases.find((function(e){return e.title===t}))),n}return null},r.prototype.setCaseCompleted=function(t){var r=this;t.end=(new Date).getTime(),this.getReports().forEach((function(n){return e.__awaiter(r,void 0,void 0,(function(){return e.__generator(this,(function(e){return n instanceof v.RealtimeReporter&&n.renderCase(t),[2]}))}))}))},r.prototype.report=function(){return e.__awaiter(this,void 0,void 0,(function(){var t=this;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,Promise.all(this.getReports().map((function(e){return e?e.render(t.suites):null})))];case 1:return e.sent(),[2]}}))}))},r.ρAnn=function(){return{name:"TestReport",params:{track:["error"],addSuite:["suit","describe"],getSuite:["suit"],setSuiteCompleted:["suit"],addCase:["suit","testCase"],getCase:["suit","test"],setCaseCompleted:["testCase"]}}},e.__decorate([t.Inject(t.INJECTOR),e.__metadata("design:type",Object)],r.prototype,"injector",void 0),r=e.__decorate([t.Singleton(),e.__metadata("design:paramtypes",[])],r)}();n.TestReport=o}));c(y);y.TestReport,y.ReportsToken;var b=f((function(n,o){Object.defineProperty(o,"__esModule",{value:!0}),o.UnitTestRunner=void 0;var i=function(n){function o(){return null!==n&&n.apply(this,arguments)||this}return e.__extends(o,n),o.prototype.configureService=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){return this.context=t,[2]}))}))},o.prototype.getContext=function(){return this.context},o.prototype.run=function(n){return e.__awaiter(this,void 0,void 0,(function(){var n,o,i,u,s,a,c,f,p,l;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,(n=this.getContext()).getConfiguration()];case 1:return o=e.sent(),i=o.src,u=n.injector,(s=u.get(r.ApplicationExit))&&(s.enable=!1),a=[],[4,(c=u.resolve(m.OldTestRunner)).configureService(n)];case 2:return e.sent(),f=u.getLoader(),c.registerGlobalScope(),t.isString(i)?[4,f.loadTypes({files:[i],basePath:this.context.baseURL})]:[3,4];case 3:return e.sent().forEach((function(e){a=a.concat(e)})),[3,8];case 4:return t.isClass(i)?(a=[i],[3,8]):[3,5];case 5:return t.isArray(i)?i.some((function(e){return t.isClass(e)}))?(a=i,[3,8]):[3,6]:[3,8];case 6:return[4,f.loadTypes({files:i,basePath:this.context.baseURL})];case 7:e.sent().forEach((function(e){a=a.concat(e)})),e.label=8;case 8:return c.unregisterGlobalScope(),[4,c.run()];case 9:return e.sent(),p=u.resolve(r.BuilderService),l=this.context.reflects,[4,t.PromiseUtil.step(a.filter((function(e){return t.isClass(e)&&l.hasMetadata(d.Suite,e)})).map((function(e){return function(){return p.run({type:e,injector:u})}})))];case 10:return e.sent(),[4,u.resolve(y.TestReport).report()];case 11:return e.sent(),[2]}}))}))},o.ρAnn=function(){return{name:"UnitTestRunner",params:{configureService:["ctx"],run:["data"]}}},o=e.__decorate([t.Injectable],o)}(r.Runnable);o.UnitTestRunner=i}));c(b);b.UnitTestRunner;var T=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})}));c(T);var A=f((function(n,o){Object.defineProperty(o,"__esModule",{value:!0}),o.UnitSetup=void 0;var u=function(){function n(){}return n.prototype.setup=function(n){var o=n.getActionInjector();o.getInstance(t.DesignRegisterer).register(d.Suite,"Class",r.AnnoationAction),o.getInstance(t.RuntimeRegisterer).register(d.Suite,"Class",t.RegSingletionAction),o.getInstance(t.DecoratorProvider).bindProviders(d.Suite,{provide:r.BootContext,deps:[i.ContainerToken],useFactory:function(n){for(var o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];var u=new t.InjectReference(r.BootContext,d.Suite.toString());return n.has(u)?n.get.apply(n,e.__spreadArrays([u],o)):null}})},n.ρAnn=function(){return{name:"UnitSetup",params:{setup:["container"]}}},e.__decorate([e.__param(0,t.Inject(i.ContainerToken)),e.__metadata("design:type",Function),e.__metadata("design:paramtypes",[Object]),e.__metadata("design:returntype",void 0)],n.prototype,"setup",null),n=e.__decorate([t.IocExt(),e.__metadata("design:paramtypes",[])],n)}();o.UnitSetup=u}));c(A);A.UnitSetup;var S=f((function(n,o){Object.defineProperty(o,"__esModule",{value:!0}),o.UnitTestConfigureRegister=void 0;var i=function(r){function n(){return null!==r&&r.apply(this,arguments)||this}return e.__extends(n,r),n.prototype.register=function(r,n){return e.__awaiter(this,void 0,void 0,(function(){var o;return e.__generator(this,(function(e){return n.injector.has(l.Assert)||n.injector.setValue(l.Assert,u),n.injector.has(h.ExpectToken)||n.injector.setValue(h.ExpectToken,s),t.isArray(r.reporters)&&r.reporters.length&&(o=n.injector).use.apply(o,r.reporters),[2]}))}))},n.ρAnn=function(){return{name:"UnitTestConfigureRegister",params:{register:["config","ctx"]}}},n=e.__decorate([t.Singleton],n)}(r.ConfigureRegister);o.UnitTestConfigureRegister=i}));c(S);S.UnitTestConfigureRegister;var R=f((function(n,o){Object.defineProperty(o,"__esModule",{value:!0}),o.UnitTestContext=void 0;var i=function(n){function o(){return null!==n&&n.apply(this,arguments)||this}var i;return e.__extends(o,n),i=o,o.prototype.getConfiguration=function(){return n.prototype.getConfiguration.call(this)},o.prototype.getConfigureManager=function(){return n.prototype.getConfigureManager.call(this)},o.parse=function(e,n){return r.createContext(e,i,t.isToken(n)?{module:n}:n)},o.ρAnn=function(){return{name:"UnitTestContext",params:{parse:["injector","target"]}}},o=i=e.__decorate([t.Injectable(),t.Refs("@Suite",r.BootContext)],o)}(r.BootContext);o.UnitTestContext=i}));c(R);R.UnitTestContext;var x=f((function(t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.RunAspect=void 0;var i=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return e.__extends(r,t),r.prototype.getReport=function(){return this.report||(this.report=this.injector.resolve(y.TestReport)),this.report},r.prototype.beforeError=function(e){this.getReport().track(e.throwing)},r.prototype.beforeEachError=function(e){this.getReport().track(e.throwing)},r.prototype.afterEachError=function(e){this.getReport().track(e.throwing)},r.prototype.afterError=function(e){this.getReport().track(e.throwing)},r.prototype.logBefore=function(e){var t=e.target,r=e.args[0];switch(e.state){case n.JoinpointState.Before:this.getReport().addSuite(t.getBootType()||r.describe,r);break;case n.JoinpointState.AfterReturning:case n.JoinpointState.AfterThrowing:this.getReport().setSuiteCompleted(t.getBootType()||r.describe)}},r.prototype.logTestCase=function(e){var t=e.args[0],r=e.args.length>1?e.args[1]:{},o=e.target;switch(e.state){case n.JoinpointState.Before:this.getReport().addCase(o.getBootType()||r.describe,t);break;case n.JoinpointState.AfterReturning:case n.JoinpointState.AfterThrowing:this.getReport().setCaseCompleted(t)}},r.ρAnn=function(){return{name:"RunAspect",params:{beforeError:["joinPoint"],beforeEachError:["joinPoint"],afterEachError:["joinPoint"],afterError:["joinPoint"],logBefore:["joinPoint"],logTestCase:["joinPoint"]}}},e.__decorate([n.AfterThrowing("execution(*.runBefore)"),e.__metadata("design:type",Function),e.__metadata("design:paramtypes",[n.Joinpoint]),e.__metadata("design:returntype",void 0)],r.prototype,"beforeError",null),e.__decorate([n.AfterThrowing("execution(*.runBeforeEach)"),e.__metadata("design:type",Function),e.__metadata("design:paramtypes",[n.Joinpoint]),e.__metadata("design:returntype",void 0)],r.prototype,"beforeEachError",null),e.__decorate([n.AfterThrowing("execution(*.runAfterEach)"),e.__metadata("design:type",Function),e.__metadata("design:paramtypes",[n.Joinpoint]),e.__metadata("design:returntype",void 0)],r.prototype,"afterEachError",null),e.__decorate([n.AfterThrowing("execution(*.runAfter)"),e.__metadata("design:type",Function),e.__metadata("design:paramtypes",[n.Joinpoint]),e.__metadata("design:returntype",void 0)],r.prototype,"afterError",null),e.__decorate([n.Around("execution(*.runSuite)"),e.__metadata("design:type",Function),e.__metadata("design:paramtypes",[n.Joinpoint]),e.__metadata("design:returntype",void 0)],r.prototype,"logBefore",null),e.__decorate([n.Around("execution(*.runCase)"),e.__metadata("design:type",Function),e.__metadata("design:paramtypes",[n.Joinpoint]),e.__metadata("design:returntype",void 0)],r.prototype,"logTestCase",null),r=e.__decorate([n.Aspect({within:[g.SuiteRunner,m.OldTestRunner],singleton:!0})],r)}(o.LoggerAspect);r.RunAspect=i}));c(x);x.RunAspect;var w=f((function(t,i){Object.defineProperty(i,"__esModule",{value:!0}),i.runTest=i.UnitTest=void 0;var u=function(){function t(){}return t.ρAnn=function(){return{name:"UnitTest",params:{}}},t=e.__decorate([r.DIModule({imports:[n.AopModule,o.LogModule,A.UnitSetup],providers:[R.UnitTestContext,S.UnitTestConfigureRegister,x.RunAspect,m.OldTestRunner,g.SuiteRunner,b.UnitTestRunner,y.TestReport],bootstrap:b.UnitTestRunner})],t)}();i.UnitTest=u,i.runTest=function(t,n){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,r.BootApplication.run({type:u,deps:o,configures:[n,{src:t}]})];case 1:return e.sent(),[2]}}))}))}}));c(w);w.runTest,w.UnitTest;var E=f((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})}));return c(E),c(f((function(t,r){Object.defineProperty(r,"__esModule",{value:!0}),e.__exportStar(p,r),e.__exportStar(d,r),e.__exportStar(l,r),e.__exportStar(h,r),e.__exportStar(_,r),e.__exportStar(g,r),e.__exportStar(m,r),e.__exportStar(b,r),e.__exportStar(T,r),e.__exportStar(y,r),e.__exportStar(v,r),e.__exportStar(w,r),e.__exportStar(E,r),e.__exportStar(S,r),e.__exportStar(R,r)})))}));
//# sourceMappingURL=unit.umd.min.js.map