36 lines
642 B
JavaScript
36 lines
642 B
JavaScript
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);
|
|
}
|