UNPKG

@hazae41/phobos

Version:

Modern and minimalist testing library for the web

1 lines 1.85 kB
{"version":3,"file":"global.cjs","sources":["../../../../../src/mods/runner/global/global.ts"],"sourcesContent":["import { Context } from \"mods/runner/context/context.js\";\nimport { TestError } from \"mods/runner/error.js\";\n\nexport function unwrap(error: TestError) {\n let message = error.message\n\n while (error.cause instanceof TestError) {\n error = error.cause\n message = `${message} > ${error.message}`\n }\n\n return new TestError(message, { cause: error.cause })\n}\n\n/**\n * Run a test block\n * @param message message to show\n * @param closure closure to run\n * @returns result of closure\n */\nexport async function test(message: string, closure: (context: Context) => Promise<void>) {\n try {\n const context = new Context(message)\n await closure(context)\n await context.wait()\n } catch (cause: unknown) {\n if (cause instanceof TestError)\n throw unwrap(new TestError(message, { cause }))\n throw new TestError(message, { cause })\n }\n}"],"names":["error","TestError","context","Context"],"mappings":";;;;;AAGM,SAAU,MAAM,CAACA,OAAgB,EAAA;AACrC,IAAA,IAAI,OAAO,GAAGA,OAAK,CAAC,OAAO,CAAA;AAE3B,IAAA,OAAOA,OAAK,CAAC,KAAK,YAAYC,eAAS,EAAE;AACvC,QAAAD,OAAK,GAAGA,OAAK,CAAC,KAAK,CAAA;QACnB,OAAO,GAAG,GAAG,OAAO,CAAA,GAAA,EAAMA,OAAK,CAAC,OAAO,EAAE,CAAA;AAC1C,KAAA;AAED,IAAA,OAAO,IAAIC,eAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAED,OAAK,CAAC,KAAK,EAAE,CAAC,CAAA;AACvD,CAAC;AAED;;;;;AAKG;AACI,eAAe,IAAI,CAAC,OAAe,EAAE,OAA4C,EAAA;IACtF,IAAI;AACF,QAAA,MAAME,SAAO,GAAG,IAAIC,eAAO,CAAC,OAAO,CAAC,CAAA;AACpC,QAAA,MAAM,OAAO,CAACD,SAAO,CAAC,CAAA;AACtB,QAAA,MAAMA,SAAO,CAAC,IAAI,EAAE,CAAA;AACrB,KAAA;AAAC,IAAA,OAAO,KAAc,EAAE;QACvB,IAAI,KAAK,YAAYD,eAAS;AAC5B,YAAA,MAAM,MAAM,CAAC,IAAIA,eAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QACjD,MAAM,IAAIA,eAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACxC,KAAA;AACH;;;;;"}