Unreview, fix test to have a try-catch.
[WebKit-https.git] / JSTests / modules / namespace-object-inline-caching.js
1 import { shouldBe } from "./resources/assert.js";
2 import * as A from "./namespace-object-inline-caching/a.js"
3 import * as B from "./namespace-object-inline-caching/b.js"
4
5 // unset caching should be disabled for namespace object.
6 {
7     function lookup(ns)
8     {
9         return ns.hello;
10     }
11     noInline(lookup);
12
13     shouldBe(A.hello, undefined);
14     shouldBe(B.hello, 42);
15
16     for (let i = 0; i < 1e4; ++i)
17         shouldBe(lookup(A), undefined);
18
19     shouldBe(lookup(B), 42);
20 }
21
22 // usual caching should be disabled for namespace object.
23 {
24     function lookup(ns)
25     {
26         return ns.goodbye;
27     }
28     noInline(lookup);
29
30     shouldBe(A.goodbye, 0);
31     shouldBe(B.goodbye, undefined);
32
33     for (let i = 0; i < 1e4; ++i)
34         shouldBe(lookup(A), 0);
35
36     shouldBe(lookup(B), undefined);
37 }