summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/escope/node_modules/es6-weak-map/node_modules/es5-ext/test/object/copy-deep.js
blob: a4023bc8ac4bf63dbeecfecc2f80a7f08da76289 (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
'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.not(o.raz, no.raz, "Deep");
	a.not(o.raz.trzy, no.raz.trzy, "Deep #2");
	a(stringify(o.raz.trzy), stringify(no.raz.trzy), "Deep content");
	a(no.raz.rec, no, "Recursive");
	a.not(o.raz.osiem, no.raz.osiem, "Empty object");
	a(o.raz['dziewięć'], no.raz['dziewięć'], "Function");
};