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