ts-snippet
Version:
A TypeScript snippet testing library for any test framework
20 lines (19 loc) • 749 B
JavaScript
import { Compiler } from "../compiler";
import { Expect } from "../expect";
import { snippet as _snippet } from "../snippet";
export { Compiler };
export { Expect };
export function expecter(factory = (code) => code, compilerOrOptions, rootDirectory) {
const compiler = compilerOrOptions instanceof Compiler
? compilerOrOptions
: new Compiler(compilerOrOptions, rootDirectory);
return (context, code) => snippet(context, {
"snippet.ts": factory(code),
}, compiler).expect("snippet.ts");
}
export function snippet(context, files, compiler) {
const s = _snippet(files, compiler);
s.assertFail = (message) => context.fail(message);
s.assertPass = () => context.pass();
return s;
}