diff --git a/src/testSetup.ts b/src/testSetup.ts index d2c1652..1eead97 100644 --- a/src/testSetup.ts +++ b/src/testSetup.ts @@ -35,7 +35,7 @@ declare module 'bun:test' { toMatchExpression(expected: string): T toFailParse(): T toEvaluateTo(expected: unknown, globals?: Record): Promise - toFailEvaluation(): Promise + toFailEvaluation(globals?: Record): Promise } } @@ -99,8 +99,7 @@ expect.extend({ assert(typeof received === 'string', 'toEvaluateTo can only be used with string values') try { - if (globals) setGlobals(Object.keys(globals)) - const compiler = new Compiler(received) + const compiler = new Compiler(received, globals ? Object.keys(globals) : []) const result = await run(compiler.bytecode, globals) let value = VMResultToValue(result) @@ -121,12 +120,12 @@ expect.extend({ } }, - async toFailEvaluation(received) { + async toFailEvaluation(received, globals?: Record) { assert(typeof received === 'string', 'toFailEvaluation can only be used with string values') try { - const compiler = new Compiler(received) - const vm = new VM(compiler.bytecode) + const compiler = new Compiler(received, globals ? Object.keys(globals) : []) + const vm = new VM(compiler.bytecode, globals) const value = await vm.run() return {