mirror of
https://github.com/arthur-pbty/portfolio2023.git
synced 2026-06-03 15:07:33 +02:00
21 lines
1.1 KiB
JavaScript
21 lines
1.1 KiB
JavaScript
/* global describe, it */
|
|
const assert = require("assert");
|
|
const { processTopLevelAwait } = require(".");
|
|
|
|
describe("processTopLevelAwait", () => {
|
|
it("should process statements with leading await keywords", () => {
|
|
assert.strictEqual(processTopLevelAwait("await 123"), "(async () => { return (await 123) })()");
|
|
assert.strictEqual(processTopLevelAwait("await 123;"), "(async () => { return (await 123); })()");
|
|
});
|
|
|
|
it("should process statements with await keywords in the middle", () => {
|
|
assert.strictEqual(processTopLevelAwait("foo = await 123"), "(async () => { return (foo = await 123) })()");
|
|
assert.strictEqual(processTopLevelAwait("foo = await 123;"), "(async () => { return (foo = await 123); })()");
|
|
assert.strictEqual(processTopLevelAwait("let foo; foo = await 123;"), "(async () => { void (foo=undefined); return (foo = await 123); })()");
|
|
});
|
|
|
|
it("should not process any statement without top level await keyword", () => {
|
|
assert.strictEqual(processTopLevelAwait("let foo = 123"), null);
|
|
assert.strictEqual(processTopLevelAwait("async function () { await 123; }"), null);
|
|
});
|
|
}); |