@hazae41/phobos
Version:
Modern and minimalist testing library for the web
1 lines • 1.79 kB
Source Map (JSON)
{"version":3,"file":"global.mjs","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":[],"mappings":";;;AAGM,SAAU,MAAM,CAAC,KAAgB,EAAA;AACrC,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;AAE3B,IAAA,OAAO,KAAK,CAAC,KAAK,YAAY,SAAS,EAAE;AACvC,QAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACnB,OAAO,GAAG,GAAG,OAAO,CAAA,GAAA,EAAM,KAAK,CAAC,OAAO,EAAE,CAAA;AAC1C,KAAA;AAED,IAAA,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;AACvD,CAAC;AAED;;;;;AAKG;AACI,eAAe,IAAI,CAAC,OAAe,EAAE,OAA4C,EAAA;IACtF,IAAI;AACF,QAAA,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;AACpC,QAAA,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;AACtB,QAAA,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;AACrB,KAAA;AAAC,IAAA,OAAO,KAAc,EAAE;QACvB,IAAI,KAAK,YAAY,SAAS;AAC5B,YAAA,MAAM,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QACjD,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACxC,KAAA;AACH;;;;"}