1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| "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");
| };
|
|