wallet-core/node_modules/es5-ext/test/object/is-plain-object.js

19 lines
788 B
JavaScript
Raw Normal View History

2017-08-14 05:01:11 +02:00
"use strict";
module.exports = function (t, a) {
a(t({}), true, "Empty {} is plain object");
a(t({ a: true }), true, "{} with property is plain object");
a(t({ prototype: 1, constructor: 2, __proto__: 3 }), true,
"{} with any property keys is plain object");
a(t(null), false, "Null is not plain object");
a(t("string"), false, "Primitive is not plain object");
a(t(function () {}), false, "Function is not plain object");
a(t(Object.create({})), false,
"Object whose prototype is not Object.prototype is not plain object");
a(t(Object.create(Object.prototype)), true,
"Object whose prototype is Object.prototype is plain object");
a(t(Object.create(null)), true,
"Object whose prototype is null is plain object");
a(t(Object.prototype), false, "Object.prototype");
};