aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/test/object/copy.js
blob: a5e2c3480a517a97caf41527e314e9d74a19e029 (plain)
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
28
29
30
"use strict";

var stringify = JSON.stringify;

module.exports = function (t, a) {
	var o = { 1: "raz", 2: "dwa", 3: "trzy" }, no = t(o);

	a.not(no, o, "Return different object");
	a(stringify(no), stringify(o), "Match properties and values");

	o = {
		foo: "bar",
		raz: {
			dwa: "dwa",
			trzy: { cztery: "pięć", sześć: "siedem" },
			osiem: {},
			dziewięć: function () {}
		},
		dziesięć: 10
	};
	o.raz.rec = o;

	no = t(o);
	a(o.raz, no.raz, "Shallow");

	a.deep(t(o, ["foo"]), { foo: "bar" });
	a.deep(t(Object.create(o), ["foo"]), { foo: "bar" });
	a.deep(t(o, ["foo", "habla"]), { foo: "bar" });
	a.deep(t(o, ["foo", "habla"], { ensure: true }), { foo: "bar", habla: undefined });
};