swc/node-swc/__tests__/parse/api_test.js

32 lines
871 B
JavaScript
Raw Normal View History

const swc = require("../../../");
it("should work asynchronously", async () => {
const m = await swc.parse(`class Foo {}`);
expect(m.type).toBe(`Module`);
expect(m.body).toHaveLength(1);
expect(m.body[0].type).toBe(`ClassDeclaration`);
});
it("can work synchronously", () => {
const m = swc.parseSync(`class Foo {}`);
expect(m.type).toBe(`Module`);
expect(m.body).toHaveLength(1);
expect(m.body[0].type).toBe(`ClassDeclaration`);
});
it("can be emit code back asynchronously", async () => {
const m = await swc.parse(`class Foo {}`);
const out = await swc.print(m);
expect(out.code.trim().replace("\n", "")).toBe(`class Foo {}`);
});
it("can be emit code back synchronously", async () => {
const m = await swc.parseSync(`class Foo {}`);
const out = swc.printSync(m);
expect(out.code.trim().replace("\n", "")).toBe(`class Foo {}`);
});