1234567891011121314151617181920212223242526272829303132333435363738394041 |
- describe("function declarations in if statement clauses", () => {
- test("if clause", () => {
- if (true) function foo() {}
- if (false) function bar() {}
- expect(typeof foo).toBe("function");
- expect(typeof bar).toBe("undefined");
- });
- test("else clause", () => {
- if (false);
- else function foo() {}
- if (true);
- else function bar() {}
- expect(typeof foo).toBe("function");
- expect(typeof bar).toBe("undefined");
- });
- test("if and else clause", () => {
- if (true) function foo() {}
- else function bar() {}
- expect(typeof foo).toBe("function");
- expect(typeof bar).toBe("undefined");
- });
- test("syntax error in strict mode", () => {
- expect(`
- "use strict";
- if (true) function foo() {}
- `).not.toEval();
- expect(`
- "use strict";
- if (false);
- else function foo() {}
- `).not.toEval();
- expect(`
- "use strict";
- if (false) function foo() {}
- else function bar() {}
- `).not.toEval();
- });
- });
|