Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
35 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
'use strict'; | ||
|
||
var test = require('tape'); | ||
var isNumber = require('./'); | ||
var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol'; | ||
|
||
test('not Numbers', function (t) { | ||
t.notOk(isNumber(), 'undefined is not Number'); | ||
t.notOk(isNumber(null), 'null is not Number'); | ||
t.notOk(isNumber(false), 'false is not Number'); | ||
t.notOk(isNumber(true), 'true is not Number'); | ||
t.notOk(isNumber('foo'), 'string is not Number'); | ||
t.notOk(isNumber([]), 'array is not Number'); | ||
t.notOk(isNumber({}), 'object is not Number'); | ||
t.notOk(isNumber(function () {}), 'function is not Number'); | ||
t.notOk(isNumber(/a/g), 'regex literal is not Number'); | ||
t.notOk(isNumber(new RegExp('a', 'g')), 'regex object is not Number'); | ||
t.notOk(isNumber(new Date()), 'new Date() is not Number'); | ||
t.end(); | ||
}); | ||
|
||
test('@@toStringTag', { skip: !hasSymbols || !Symbol.toStringTag }, function (t) { | ||
var fakeNumber = { valueOf: function () { return 42; }, toString: function () { return '7'; } }; | ||
fakeNumber[Symbol.toStringTag] = function () { return 'Number'; }; | ||
t.notOk(isNumber(fakeNumber), 'fake Number with @@toStringTag "Number" is not Number'); | ||
t.end(); | ||
}); | ||
|
||
test('Numbers', function (t) { | ||
t.ok(isNumber(42), 'number is Number'); | ||
t.ok(isNumber(new Number(42)), 'number object is Number'); | ||
t.ok(isNumber(NaN), 'NaN is Number'); | ||
t.ok(isNumber(Infinity), 'Infinity is Number'); | ||
t.end(); | ||
}); |