UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

98 lines (78 loc) 2.69 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2004-2012 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Martin Wittemann (wittemann) ************************************************************************ */ /** * @require(qx.lang.normalize.Object) */ qx.Class.define("qx.test.lang.normalize.Object", { extend: qx.dev.unit.TestCase, include: [qx.dev.unit.MMock], members: { testKeysWithExtendObject() { function ObjectA() { this.A = 10; } function ObjectB() { this.B = 11; } ObjectB.prototype = new ObjectA(); var objB = new ObjectB(); this.assertEquals(10, objB.A, "Object extension fails!"); this.assertEquals(11, objB.B, "Object extension fails!"); var keys = Object.keys(objB); this.assertEquals(1, keys.length, "Expected length wrong!"); this.assertFalse(keys.includes("A"), "Test property A!"); this.assertTrue(keys.includes("B"), "Test property B!"); }, testKeys() { var obj = {}; obj.isPrototypeOf = function () {}; obj.hasOwnProperty = function () {}; obj.toLocaleString = function () {}; obj.toString = function () {}; obj.valueOf = function () {}; obj.constructor = function () {}; obj.prototype = function () {}; var keys = Object.keys(obj); this.assertTrue(keys.includes("isPrototypeOf"), "Test isPrototypeOf"); this.assertTrue(keys.includes("hasOwnProperty"), "Test hasOwnProperty"); this.assertTrue(keys.includes("toLocaleString"), "Test toLocaleString"); this.assertTrue(keys.includes("toString"), "Test toString"); this.assertTrue(keys.includes("valueOf"), "Test valueOf"); this.assertTrue(keys.includes("constructor"), "Test constructor"); this.assertTrue(keys.includes("prototype"), "Test prototype"); }, testGetValues() { var object = { a: undefined, b: null, c: 1 }; this.assertArrayEquals( [undefined, null, 1].sort(), Object.values(object).sort() ); var object = {}; this.assertArrayEquals([], Object.values(object)); var object = { isPrototypeOf: 1, hasOwnProperty: 2, toLocaleString: 3, toString: 4, valueOf: 5 }; this.assertArrayEquals( [1, 2, 3, 4, 5].sort(), Object.values(object).sort() ); } } });