summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/test/object/set-prototype-of/shim.js
blob: aec2605cc2661a7f21445631316e4c52a279e6ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'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");
};