summaryrefslogtreecommitdiff
path: root/Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-order.js
blob: 6dfab9e3df061f6b0018bd0a087e2deef44c95a5 (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
load("test-common.js");

try {
    assert(JSON.stringify.length === 3);

    let o = {
        key1: "key1",
        key2: "key2",
        key3: "key3",
    };

    Object.defineProperty(o, "defined", {
        enumerable: true,
        get() {
            o.prop = "prop";
            return "defined";
        },
    });

    o.key4 = "key4";

    o[2] = 2;
    o[0] = 0;
    o[1] = 1;

    delete o.key1;
    delete o.key3;

    o.key1 = "key1";

    assert(JSON.stringify(o) === '{"0":0,"1":1,"2":2,"key2":"key2","defined":"defined","key4":"key4","key1":"key1"}');

    console.log("PASS");
} catch (e) {
    console.log("FAIL: " + e);
}