Test to ensure correct behaviour of Object.defineProperties On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS Object.create() threw exception TypeError: Object prototype may only be an Object or null.. PASS Object.create('a string') threw exception TypeError: Object prototype may only be an Object or null.. PASS Object.create({}, 'a string') threw exception TypeError: Property descriptor list must be an Object.. PASS Object.create(null, 'a string') threw exception TypeError: Property descriptor list must be an Object.. PASS JSON.stringify(Object.create(null,{property:{value:'foo', enumerable:true}, property2:{value:'foo', enumerable:true}})) is '{"property":"foo","property2":"foo"}' PASS JSON.stringify(Object.create({},{property:{value:'foo', enumerable:true}, property2:{value:'foo', enumerable:true}})) is '{"property":"foo","property2":"foo"}' PASS JSON.stringify(Object.create({},{property:{value:'foo'}, property2:{value:'foo', enumerable:true}})) is '{"property2":"foo"}' PASS JSON.stringify(Object.create(null,{property:{value:'foo'}, property2:{value:'foo', enumerable:true}})) is '{"property2":"foo"}' PASS Object.getPrototypeOf(Object.create(Array.prototype)) is Array.prototype PASS Object.getPrototypeOf(Object.create(null)) is null PASS Object.create(null, DescriptorWithValueGetter).foo is true PASS Object.create(null, DescriptorWithEnumerableGetter).foo is true PASS Object.create(null, DescriptorWithConfigurableGetter).foo is true PASS Object.create(null, DescriptorWithWritableGetter).foo is true PASS Object.create(null, DescriptorWithGetGetter).foo is true PASS Object.create(null, DescriptorWithSetGetter).foo is true PASS successfullyParsed is true TEST COMPLETE