60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| 'use strict';
 | |
| 
 | |
| var test = require('tape');
 | |
| var debug = require('object-inspect');
 | |
| var forEach = require('for-each');
 | |
| 
 | |
| var isWeakMap = require('..');
 | |
| 
 | |
| test('non-collections', function (t) {
 | |
| 	forEach([
 | |
| 		null,
 | |
| 		undefined,
 | |
| 		true,
 | |
| 		false,
 | |
| 		42,
 | |
| 		0,
 | |
| 		-0,
 | |
| 		NaN,
 | |
| 		Infinity,
 | |
| 		'',
 | |
| 		'foo',
 | |
| 		/a/g,
 | |
| 		[],
 | |
| 		{},
 | |
| 		function () {}
 | |
| 	], function (nonCollection) {
 | |
| 		t.equal(isWeakMap(nonCollection), false, debug(nonCollection) + ' is not a WeakMap');
 | |
| 	});
 | |
| 
 | |
| 	t.end();
 | |
| });
 | |
| 
 | |
| test('Maps', { skip: typeof Map !== 'function' }, function (t) {
 | |
| 	var m = new Map();
 | |
| 	t.equal(isWeakMap(m), false, debug(m) + ' is not a WeakMap');
 | |
| 
 | |
| 	t.end();
 | |
| });
 | |
| 
 | |
| test('Sets', { skip: typeof Set !== 'function' }, function (t) {
 | |
| 	var s = new Set();
 | |
| 	t.equal(isWeakMap(s), false, debug(s) + ' is not a WeakMap');
 | |
| 
 | |
| 	t.end();
 | |
| });
 | |
| 
 | |
| test('WeakMaps', { skip: typeof WeakMap !== 'function' }, function (t) {
 | |
| 	var wm = new WeakMap();
 | |
| 	t.equal(isWeakMap(wm), true, debug(wm) + ' is a WeakMap');
 | |
| 
 | |
| 	t.end();
 | |
| });
 | |
| 
 | |
| test('WeakSets', { skip: typeof WeakSet !== 'function' }, function (t) {
 | |
| 	var ws = new WeakSet();
 | |
| 	t.equal(isWeakMap(ws), false, debug(ws) + ' is not a WeakMap');
 | |
| 
 | |
| 	t.end();
 | |
| });
 |