blob: aec2605cc2661a7f21445631316e4c52a279e6ed [file] [log] [blame]
'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");
};