blob: 05a7f49a7c4affc8cc227cb4dad01ba311a4ed4d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
// |jit-test| skip-if: getBuildConfiguration('pbl')
// The decompiled expression used in the error messsage should not be confused
// by unrelated value on the stack.
var a = {};
var b = {};
var p = "c";
function doPropAccess() {
// Both "a.c" and "b.e" are undefined.
// "a.c" should be used.
a.c.d = b.e;
}
function testPropAccess() {
var caught = false;
try {
doPropAccess();
} catch (e) {
assertEq(e.message.includes("a.c is undefined"), true);
caught = true;
}
assertEq(caught, true);
}
function doElemAccess() {
// Both "a[x]" and "b.e" are undefined.
// "a[x]" should be used.
var x = "c";
a[x].d = b.e;
}
function testElemAccess() {
var caught = false;
try {
doElemAccess();
} catch (e) {
assertEq(e.message.includes("a[x] is undefined"), true);
caught = true;
}
assertEq(caught, true);
}
for (var i = 0; i < 10; i++) {
testPropAccess();
testElemAccess();
}
|