This commit is contained in:
你的名字
2025-07-14 10:22:40 +08:00
commit 0483b4b364
1388 changed files with 219353 additions and 0 deletions

10
nodejs/node_modules/is-nan/test/index.js generated vendored Executable file
View File

@ -0,0 +1,10 @@
'use strict';
var numberIsNaN = require('../');
var test = require('tape');
test('as a function', function (t) {
require('./tests')(numberIsNaN, t);
t.end();
});

28
nodejs/node_modules/is-nan/test/shimmed.js generated vendored Executable file
View File

@ -0,0 +1,28 @@
'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 = function f() {}.name === 'f';
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();
});
require('./tests')(Number.isNaN, t);
t.end();
});

36
nodejs/node_modules/is-nan/test/tests.js generated vendored Executable file
View File

@ -0,0 +1,36 @@
'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();
});
};