1 | 'use strict';
|
2 |
|
3 | var test = require('tape');
|
4 | var debug = require('object-inspect');
|
5 | var forEach = require('for-each');
|
6 |
|
7 | var isMap = require('..');
|
8 |
|
9 | test('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 |
|
33 | test('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 |
|
40 | test('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 |
|
47 | test('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 |
|
54 | test('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 | });
|