28 lines
687 B
JavaScript
28 lines
687 B
JavaScript
|
"use strict";
|
||
|
|
||
|
var create = require("../../../object/create")
|
||
|
|
||
|
, getPrototypeOf = Object.getPrototypeOf;
|
||
|
|
||
|
module.exports = function (t, a) {
|
||
|
var x = {}, y = {};
|
||
|
|
||
|
if (t === null) return;
|
||
|
a(t(x, y), x, "Return self object");
|
||
|
a(getPrototypeOf(x), y, "Object");
|
||
|
a.throws(function () {
|
||
|
t(x);
|
||
|
}, TypeError, "Undefined");
|
||
|
a.throws(function () {
|
||
|
t("foo");
|
||
|
}, TypeError, "Primitive");
|
||
|
a(getPrototypeOf(t(x, null)), t.nullPolyfill || null, "Null");
|
||
|
x = create(null);
|
||
|
a.h1("Change null prototype");
|
||
|
a(t(x, y), x, "Result");
|
||
|
a(getPrototypeOf(x), y, "Prototype");
|
||
|
a.h1("Set null prototype");
|
||
|
a(t(y, null), y, "Result");
|
||
|
a(getPrototypeOf(y), t.nullPolyfill || null, "Prototype");
|
||
|
};
|