|
| 1 | +import is from "../isType.mjs"; |
| 2 | + |
| 3 | +let i = 1, |
| 4 | + a = function (a,b){ console.assert(a === b, (i++)+". "+a+" !== "+b); }; |
| 5 | + |
| 6 | +a(is(), "undefined"); |
| 7 | +a(is(null), "null"); |
| 8 | +a(is({}), "Object"); |
| 9 | +a(is([]), "Array"); |
| 10 | +a(is(arguments), "Arguments"); |
| 11 | +if(window.BigInt) a(is(BigInt(5)), "bigint"); |
| 12 | +else i++; |
| 13 | +a(is(false), "boolean"); |
| 14 | +a(is(new Boolean()), "Boolean"); |
| 15 | +a(is(new Date()), "Date"); |
| 16 | +a(is(function(){}), "function"); |
| 17 | +a(is(new Function()), "function"); |
| 18 | +a(is(/a/), "RegExp"); |
| 19 | +a(is(new RegExp("a")), "RegExp"); |
| 20 | +a(is(""), "string"); |
| 21 | +a(is(new String("")), "String"); |
| 22 | +if(window.Symbol) a(is(Symbol()), "symbol"); |
| 23 | +else i++; |
| 24 | +a(is(5), "number"); |
| 25 | +a(is(new Number(5)), "Number"); |
| 26 | +a(is(NaN), "NaN"); |
| 27 | +a(is(new Number(NaN)), "NaN"); |
| 28 | +a(is(1/0), "number"); |
| 29 | +a(is(new Number(1/0)), "Number"); |
| 30 | + |
| 31 | +a(is.defined(), false); |
| 32 | +a(is.defined(5), true); |
| 33 | +a(is.undefined(), true); |
| 34 | +a(is.undefined(5), false); |
| 35 | +a(is.null(null), true); |
| 36 | +a(is.null(5), false); |
| 37 | +a(is.array([]), true); |
| 38 | +a(is.array(5), false); |
| 39 | +a(is.array(arguments), false); |
| 40 | +if(window.BigInt) a(is.bigint(BigInt(5)), true); |
| 41 | +else i++; |
| 42 | +a(is.bigint(5), false); |
| 43 | +a(is.boolean(false), true); |
| 44 | +a(is.boolean(), false); |
| 45 | +a(is.boolean(5), false); |
| 46 | +a(is.date(new Date()), true); |
| 47 | +a(is.date(5), false); |
| 48 | +a(is.date(1*(new Date())), false); |
| 49 | +a(is.function(function(){}), true); |
| 50 | +a(is.function(new Function()), true); |
| 51 | +a(is.function(5), false); |
| 52 | +a(is.regexp(/a/), true); |
| 53 | +a(is.regexp(new RegExp("a")), true); |
| 54 | +a(is.regexp(5), false); |
| 55 | +a(is.string(""), true); |
| 56 | +a(is.string(new String()), true); |
| 57 | +a(is.string(5), false); |
| 58 | +if(window.Symbol) a(is.symbol(Symbol()), true); |
| 59 | +else i++; |
| 60 | +a(is.symbol(5), false); |
| 61 | +a(is.nan(NaN), true); |
| 62 | +a(is.nan(new Number(NaN)), true); |
| 63 | +a(is.nan(5), false); |
| 64 | +a(is.nan(new Number(5)), false); |
| 65 | +a(is.number(5), true); |
| 66 | +a(is.number(new Number()), true); |
| 67 | +a(is.number(NaN), false); |
| 68 | +a(is.number(new Number(NaN)), false); |
| 69 | +a(is.number(1/0), true); |
| 70 | +a(is.number(new Number(1/0)), true); |
| 71 | +a(is.number(""), false); |
| 72 | +a(is.number(new Date()), false); |
| 73 | +a(is.number(1*(new Date())), true); |
| 74 | +a(is.number.real(5), true); |
| 75 | +a(is.number.real(1/0), false); |
| 76 | +a(is.number.real(NaN), false); |
| 77 | +a(is.number.real("5"), false); |
| 78 | +a(is.number.infinite(1/0), true); |
| 79 | +a(is.number.infinite(5), false); |
| 80 | +a(is.number.infinite(NaN), false); |
| 81 | +a(is.number.infinite("Infinity"), false); |
| 82 | + |
| 83 | +a(is.object({}), true); |
| 84 | +a(is.object(5), false); |
| 85 | +a(is.object(new Number()), true); |
| 86 | +a(is.object(function(){}), true); |
| 87 | +a(is.primitive(), true); |
| 88 | +a(is.primitive(5), true); |
| 89 | +a(is.primitive(new Number()), false); |
| 90 | +a(is.primitive(NaN), true); |
| 91 | +a(is.primitive(new Number(NaN)), false); |
0 commit comments