Source code
Revision control
Copy as Markdown
Other Tools
function f(o) {
return Object.keys(o)
}
po = {
failure: 'hello'
}
o = {about: 5,
ballisitic: 6,
cakebread: 8,
dalespeople: 9,
evilproof: 20,
fairgoing: 30,
gargoylish: 2,
harmonici: 1,
jinniwink: 12,
kaleidoscopical: 2,
labellum: 1,
macadamization: 4,
neutrino: 1,
observership: 0,
quadratomandibular: 9,
rachicentesis: 1,
saltcat: 0,
trousseau: 1,
view: 10,
wheelbox: 2,
xerography: 1,
yez: 3,
}
Object.setPrototypeOf(o, po);
// Initialize for-in cache for o.
for (var prop in o) {
print(prop)
}
function test(o) {
for (var i = 0; i<10; i++) {
res = f(o);
assertEq(false, res.includes("failure") );
// assertEq(true, res.includes("1") );
}
}
// Verify things.
test(o)
po[2] = "hi";
test(o);
po[3] = "bye";
for (var prop in o) {
assertEq(prop == "gnome", false);
}
test(o);
o2 = {about: 5,
ballisitic: 6,
cakebread: 8,
dalespeople: 9,
evilproof: 20,
fairgoing: 30,
gargoylish: 2,
harmonici: 1,
jinniwink: 12,
kaleidoscopical: 2,
labellum: 1,
macadamization: 4,
neutrino: 1,
observership: 0,
quadratomandibular: 9,
rachicentesis: 1,
saltcat: 0,
trousseau: 1,
view: 10,
wheelbox: 2,
xerography: 1,
yez: 3,
"1": 10,
}
// Initialize for-in cache for o.
for (var prop in o2) {
if (prop == "abra") print(prop);
}
// Verify things.
test(o2)
for (var i = 0; i < 20; i++) {
assertEq(Object.keys(o2).includes("1"), true);
}
let o3 = {about: 5,
ballisitic: 6,
cakebread: 8,
dalespeople: 9,
evilproof: 20,
fairgoing: 30,
gargoylish: 2,
harmonici: 1,
jinniwink: 12,
kaleidoscopical: 2,
labellum: 1,
macadamization: 4,
neutrino: 1,
observership: 0,
quadratomandibular: 9,
rachicentesis: 1,
saltcat: 0,
trousseau: 1,
view: 10,
wheelbox: 2,
xerography: 1,
yez: 3,
}
// Initialize for-in cache for o.
for (var prop in o2) {
if (prop == "abra") print(prop);
}
// Verify things.
test(o3)
for (var i = 0; i < 20; i++) {
assertEq(Object.keys(o3).includes("yez"), true);
}