25 lines
526 B
JavaScript
25 lines
526 B
JavaScript
function O() {
|
|
this.x = 1;
|
|
this.y = 2;
|
|
}
|
|
function testUnboxed() {
|
|
var arr = [];
|
|
for (var i=0; i<100; i++)
|
|
arr.push(new O);
|
|
|
|
var o = arr[arr.length-1];
|
|
o[0] = 0;
|
|
o[2] = 2;
|
|
var sym = Symbol();
|
|
o[sym] = 1;
|
|
o.z = 3;
|
|
Object.defineProperty(o, '3', {value:1,enumerable:false,configurable:false,writable:false});
|
|
o[4] = 4;
|
|
|
|
var props = Reflect.ownKeys(o);
|
|
assertEq(props[props.length-1], sym);
|
|
|
|
assertEq(Object.getOwnPropertyNames(o).join(""), "0234xyz");
|
|
}
|
|
testUnboxed();
|