test("using undefined variable in initializer", () => { expect(() => { for (let i = foo; i < 100; ++i) {} }).toThrowWithMessage(ReferenceError, "'foo' is not defined"); }); test("using undefined variable in condition", () => { expect(() => { for (let i = 0; i < foo; ++i) {} }).toThrowWithMessage(ReferenceError, "'foo' is not defined"); }); test("using undefined variable in updater", () => { let loopCount = 0; expect(() => { for (let i = 0; i < 100; ++foo) { loopCount++; } }).toThrowWithMessage(ReferenceError, "'foo' is not defined"); expect(loopCount).toBe(1); });