333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
"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");
};