24 lines
		
	
	
		
			725 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			725 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| module.exports = function (T, a) {
 | |
| 	var obj1 = {}, obj2 = {}, obj3 = {}, arr = [[obj1, "raz"], [obj2, "dwa"]], map = new T(arr);
 | |
| 
 | |
| 	a(map instanceof T, true, "WeakMap");
 | |
| 	a(map.has(obj1), true, "Has: true");
 | |
| 	a(map.get(obj1), "raz", "Get: contains");
 | |
| 	a(map.has(obj3), false, "Has: false");
 | |
| 	a(map.get(obj3), undefined, "Get: doesn't contain");
 | |
| 	a(map.set(obj3, "trzy"), map, "Set: return");
 | |
| 	a(map.has(obj3), true, "Add");
 | |
| 	a(map.delete({}), false, "Delete: false");
 | |
| 
 | |
| 	a(map.delete(obj1), true, "Delete: true");
 | |
| 	a(map.get(obj1), undefined, "Get: after delete");
 | |
| 	a(map.has(obj1), false, "Has: after delete");
 | |
| 
 | |
| 	a.h1("Empty initialization");
 | |
| 	map = new T();
 | |
| 	map.set(obj1, "bar");
 | |
| 	a(map.get(obj1), "bar");
 | |
| };
 |