ladybird/Userland/Libraries/LibJS/Tests/global-var-let-const.js
Andreas Kling 4bc98fd39f LibJS: Only "var" declarations go in the global object at program level
"let" and "const" go in the lexical environment.

This fixes one part of  (Lexically declared variables are mixed up
with global object properties)
2021-06-09 23:25:16 +02:00

21 lines
556 B
JavaScript

var foo = 1;
let bar = 2;
const baz = 3;
test("behavior of program-level var/let/const", () => {
expect(foo).toBe(1);
expect(bar).toBe(2);
expect(baz).toBe(3);
expect(globalThis.foo).toBe(1);
expect(globalThis.bar).toBeUndefined();
expect(globalThis.baz).toBeUndefined();
globalThis.foo = 4;
globalThis.bar = 5;
globalThis.baz = 6;
expect(foo).toBe(4);
expect(bar).toBe(2);
expect(baz).toBe(3);
expect(globalThis.foo).toBe(4);
expect(globalThis.bar).toBe(5);
expect(globalThis.baz).toBe(6);
});