function shouldBe(actual, expected) { if (actual !== expected) throw new Error('bad value: ' + actual); } function test(prototype, data) { return Object.create(prototype, data); } noInline(test); for (var i = 0; i < 1e4; ++i) { var prototype = { Cocoa: false }; var object = test(prototype, { Cappuccino: { value: 42, enumerable: true, configurable: true, writable: true }, Matcha: { value: 40, enumerable: false, configurable: true, writable: true } }); shouldBe(Object.getPrototypeOf(object), prototype); shouldBe(JSON.stringify(Object.getOwnPropertyNames(object).sort()), `["Cappuccino","Matcha"]`); shouldBe(JSON.stringify(Object.keys(object).sort()), `["Cappuccino"]`); }