UNPKG

1.1 kBJavaScriptView Raw
1'use strict';
2
3var test = require('tape');
4var debug = require('object-inspect');
5var forEach = require('for-each');
6
7var isMap = require('..');
8
9test('non-collections', function (t) {
10 forEach([
11 null,
12 undefined,
13 true,
14 false,
15 42,
16 0,
17 -0,
18 NaN,
19 Infinity,
20 '',
21 'foo',
22 /a/g,
23 [],
24 {},
25 function () {}
26 ], function (nonCollection) {
27 t.equal(isMap(nonCollection), false, debug(nonCollection) + ' is not a Map');
28 });
29
30 t.end();
31});
32
33test('Maps', { skip: typeof Map !== 'function' }, function (t) {
34 var m = new Map();
35 t.equal(isMap(m), true, debug(m) + ' is a Map');
36
37 t.end();
38});
39
40test('Sets', { skip: typeof Set !== 'function' }, function (t) {
41 var s = new Set();
42 t.equal(isMap(s), false, debug(s) + ' is not a Map');
43
44 t.end();
45});
46
47test('WeakMaps', { skip: typeof WeakMap !== 'function' }, function (t) {
48 var wm = new WeakMap();
49 t.equal(isMap(wm), false, debug(wm) + ' is not a Map');
50
51 t.end();
52});
53
54test('WeakSets', { skip: typeof WeakSet !== 'function' }, function (t) {
55 var ws = new WeakSet();
56 t.equal(isMap(ws), false, debug(ws) + ' is not a Map');
57
58 t.end();
59});