|
1 |
|
2 x = [1,2,3]; |
|
3 setObjectMetadata(x, {y:0}); |
|
4 assertEq(getObjectMetadata(x).y, 0); |
|
5 |
|
6 setObjectMetadataCallback(true); |
|
7 |
|
8 function Foo() { |
|
9 this.x = 0; |
|
10 this.y = 1; |
|
11 } |
|
12 |
|
13 function hello() { |
|
14 function there() { |
|
15 w = new Foo(); |
|
16 x = [1,2,3]; |
|
17 y = [2,3,5]; |
|
18 z = {a:0,b:1}; |
|
19 } |
|
20 callee = there; |
|
21 callee(); |
|
22 } |
|
23 hello(); |
|
24 |
|
25 var wc = getObjectMetadata(w).index; |
|
26 var xc = getObjectMetadata(x).index; |
|
27 var yc = getObjectMetadata(y).index; |
|
28 var zc = getObjectMetadata(z).index; |
|
29 |
|
30 assertEq(xc > wc, true); |
|
31 assertEq(yc > xc, true); |
|
32 assertEq(zc > yc, true); |
|
33 assertEq(getObjectMetadata(x).stack[0], callee); |
|
34 assertEq(getObjectMetadata(x).stack[1], hello); |