Unreview, fix test to have a try-catch.
[WebKit-https.git] / JSTests / modules / scopes.js
1 import { Cocoa, Cappuccino, Matcha } from "./scopes/drink.js"
2 import { shouldBe } from "./resources/assert.js";
3
4 var global = Function("return this")();
5 var globalEval = (0, eval);
6 global.Cappuccino = 'Global Scope';
7
8 {
9     let Cocoa = 42;
10     shouldBe(Cocoa, 42);
11 }
12 shouldBe(Cocoa, 'Cocoa');
13 shouldBe(Cappuccino, 'Cappuccino'); // Module Scope.
14 shouldBe(Matcha, 'Matcha');
15
16 (function () {
17     var Cocoa = 42;
18     let Cappuccino = 'Function Scope';
19     shouldBe(Cocoa, 42);
20     shouldBe(Cappuccino, 'Function Scope');
21     shouldBe(Matcha, 'Matcha');
22     {
23         let Cappuccino = 'Block Scope';
24         const Matcha = 50;
25         shouldBe(Matcha, 50);
26         shouldBe(Object, global.Object);
27         {
28             (function () {
29                 shouldBe(Cappuccino, 'Block Scope');
30                 shouldBe(globalEval(`Cappuccino`), 'Global Scope');
31                 shouldBe(Function(`return Cappuccino`)(), 'Global Scope');
32             }());
33         }
34     }
35     shouldBe(Object, global.Object);
36 }());
37 shouldBe(Object, global.Object);