31 lines
		
	
	
		
			703 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			703 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"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 });
 | 
						|
};
 |