test("basic functionality", () => { expect(void "").toBeUndefined(); expect(void "foo").toBeUndefined(); expect(void 1).toBeUndefined(); expect(void 42).toBeUndefined(); expect(void true).toBeUndefined(); expect(void false).toBeUndefined(); expect(void null).toBeUndefined(); expect(void undefined).toBeUndefined(); expect(void function () {}).toBeUndefined(); expect(void (() => {})).toBeUndefined(); expect(void (() => "hello friends")()).toBeUndefined(); expect((() => void "hello friends")()).toBeUndefined(); }); describe("errors", () => { test("treats yield in generator as non variable", () => { expect("function f() { void yield; }").toEval(); expect("async function f() { void yield; }").toEval(); expect("function *f() { void yield; }").not.toEval(); expect("async function *f() { void yield; }").not.toEval(); expect("class C { *f() { void yield; } }").not.toEval(); expect("var obj = { async function *f() { void yield; } }").not.toEval(); }); });