From 8ba316461d2dc0a1372af16836ce14ceabc2bf4f Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 13 Jan 2023 19:21:41 +0530 Subject: feat: adds test to stdlib + refactors runtime environment --- src/eval-env/test.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/eval-env/test.ts (limited to 'src/eval-env/test.ts') diff --git a/src/eval-env/test.ts b/src/eval-env/test.ts new file mode 100644 index 0000000..c394752 --- /dev/null +++ b/src/eval-env/test.ts @@ -0,0 +1,31 @@ +import { Type } from 'ts-morph' +import { Ctx } from '../types' + +export const cleanup = () => {} + +export default (ctx: Ctx, args: Type[]) => ({ + Test: async () => { + const [msg, effs] = args + process.stdout.write(` - ${ctx.getTypeValue(msg)}`) + + try { + for (const eff of effs?.getTupleElements() ?? []) { + await ctx.evaluateType(ctx, eff) + } + + console.log(' [✓]') + } catch(e) { + console.log(' [TEST FAILED]') + throw e + } + return [] + }, + + Assert: async () => { + const [b] = args + if (!ctx.getTypeValue(b)) { + throw new Error('Assertion failed') + } + return [] + }, +}) -- cgit v1.3.1