Initial commit
This commit is contained in:
11
node_modules/is-nan/test/index.js
generated
vendored
Normal file
11
node_modules/is-nan/test/index.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
var numberIsNaN = require('../');
|
||||
var test = require('tape');
|
||||
var runTests = require('./tests');
|
||||
|
||||
test('as a function', function (t) {
|
||||
runTests(numberIsNaN, t);
|
||||
|
||||
t.end();
|
||||
});
|
||||
30
node_modules/is-nan/test/shimmed.js
generated
vendored
Normal file
30
node_modules/is-nan/test/shimmed.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
'use strict';
|
||||
|
||||
require('es5-shim');
|
||||
|
||||
var numberIsNaN = require('../');
|
||||
numberIsNaN.shim();
|
||||
|
||||
var test = require('tape');
|
||||
var defineProperties = require('define-properties');
|
||||
var isEnumerable = Object.prototype.propertyIsEnumerable;
|
||||
var functionsHaveNames = require('functions-have-names')();
|
||||
|
||||
var runTests = require('./tests');
|
||||
|
||||
test('shimmed', function (t) {
|
||||
t.equal(Number.isNaN.length, 1, 'Number.isNaN has a length of 1');
|
||||
t.test('Function name', { skip: !functionsHaveNames }, function (st) {
|
||||
st.equal(Number.isNaN.name, 'isNaN', 'Number.isNaN has name "isNaN"');
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('enumerability', { skip: !defineProperties.supportsDescriptors }, function (et) {
|
||||
et.equal(false, isEnumerable.call(Number, 'isNaN'), 'Number.isNaN is not enumerable');
|
||||
et.end();
|
||||
});
|
||||
|
||||
runTests(Number.isNaN, t);
|
||||
|
||||
t.end();
|
||||
});
|
||||
40
node_modules/is-nan/test/tests.js
generated
vendored
Normal file
40
node_modules/is-nan/test/tests.js
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = function (numberIsNaN, t) {
|
||||
t.test('not NaN', function (st) {
|
||||
st.test('primitives', function (sst) {
|
||||
sst.notOk(numberIsNaN(), 'undefined is not NaN');
|
||||
sst.notOk(numberIsNaN(null), 'null is not NaN');
|
||||
sst.notOk(numberIsNaN(false), 'false is not NaN');
|
||||
sst.notOk(numberIsNaN(true), 'true is not NaN');
|
||||
sst.notOk(numberIsNaN(0), 'positive zero is not NaN');
|
||||
sst.notOk(numberIsNaN(Infinity), 'Infinity is not NaN');
|
||||
sst.notOk(numberIsNaN(-Infinity), '-Infinity is not NaN');
|
||||
sst.notOk(numberIsNaN('foo'), 'string is not NaN');
|
||||
sst.notOk(numberIsNaN('NaN'), 'string NaN is not NaN');
|
||||
sst.end();
|
||||
});
|
||||
|
||||
st.notOk(numberIsNaN([]), 'array is not NaN');
|
||||
st.notOk(numberIsNaN({}), 'object is not NaN');
|
||||
st.notOk(numberIsNaN(function () {}), 'function is not NaN');
|
||||
|
||||
st.test('valueOf', function (vt) {
|
||||
var obj = {
|
||||
valueOf: function () {
|
||||
return NaN;
|
||||
}
|
||||
};
|
||||
vt.ok(numberIsNaN(Number(obj)), 'object with valueOf of NaN, converted to Number, is NaN');
|
||||
vt.notOk(numberIsNaN(obj), 'object with valueOf of NaN is not NaN');
|
||||
vt.end();
|
||||
});
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('NaN literal', function (st) {
|
||||
st.ok(numberIsNaN(NaN), 'NaN is NaN');
|
||||
st.end();
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user