[JSC] Do not use asArrayModes() with Structures because it discards TypedArray inform...
[WebKit-https.git] / JSTests / stress / get-by-val-string.js
1 function shouldBe(actual, expected) {
2     if (actual !== expected)
3         throw new Error('bad value: ' + actual);
4 }
5
6 var object = {};
7 object[42] = 42;
8 object[43] = function tag() { return 42; };
9
10 shouldBe(object['43']`Hello`, 42);
11
12
13 class Hello {
14     constructor()
15     {
16         this['44'] = 42;
17         shouldBe(this['42'], 42);
18         shouldBe(this['43'](), 42);
19         shouldBe(this['44'], 42);
20     }
21
22     get 42()
23     {
24         return 42;
25     }
26
27     43()
28     {
29         return 42;
30     }
31 }
32
33 class Derived extends Hello {
34     constructor()
35     {
36         super();
37         shouldBe(super['42'], 42);
38         shouldBe(super['43'](), 42);
39         shouldBe(this['44']++, 42);
40         shouldBe(++this['44'], 44);
41     }
42 }
43
44 var derived = new Derived();
45
46 var test = { 42: '' };
47
48 for (test['42'] in { a: 'a' })
49     shouldBe(test['42'], 'a');
50 shouldBe(test['42'], 'a');
51
52 for (test['42'] of [ 'b' ])
53     shouldBe(test['42'], 'b');
54 shouldBe(test['42'], 'b');
55
56 {
57     let { '42': a } = { '42': '42' };
58     shouldBe(a, '42');
59 }
60
61 {
62     let object = { 42: 42 };
63     let objectAlias = object;
64     object['42'] = (object = 30);
65     shouldBe(objectAlias['42'], 30);
66 }