summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/primitive-proto-properties.js
blob: ea012e40e6d3723ce8b494444796c7f0d10e5f4d (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
function shadowing() {
    Object.prototype.x = 1;

    for (var i = 0; i < 20; i++) {
        var x = "a".x;
        assertEq(x, i <= 15 ? 1 : "hello");

        if (i == 15) {
            String.prototype.x = "hello";
        }
    }

    delete Object.prototype.x;
}

function deleted() {
    String.prototype.y = 1;

    for (var i = 0; i < 20; i++) {
        var y = "a".y;
        assertEq(y, i <= 15 ? 1 : undefined);

        if (i == 15) {
            delete String.prototype.y;
        }
    }

    delete String.prototype.y;
}


function notdefined() {
    for (var i = 0; i < 20; i++) {
        var z = "a".z;
        assertEq(z, i <= 15 ? undefined : "test");

        if (i == 15) {
            String.prototype.z = "test";
        }
    }

    delete String.prototype.z;
}

shadowing();
deleted();
notdefined();