| '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"); |
| }; |