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); }