Page MenuHomePhorge

test_nan_infinity.cjs
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

test_nan_infinity.cjs

// Test NaN and Infinity values
console.log('=== NaN Tests ===');
// Basic NaN value
console.log('NaN:', NaN);
console.log('typeof NaN:', typeof NaN);
// Type coercion resulting in NaN
console.log('"wat" - 1:', "wat" - 1);
console.log('"hello" * 2:', "hello" * 2);
console.log('undefined + 5:', undefined + 5);
console.log('10 / "abc":', 10 / "abc");
console.log('0/0:', 0/0);
// Valid string to number coercion
console.log('"5" - 2:', "5" - 2);
console.log('"10" * 2:', "10" * 2);
// Boolean and null coercion
console.log('true + 1:', true + 1);
console.log('false + 1:', false + 1);
console.log('null + 5:', null + 5);
// NaN properties
console.log('NaN === NaN:', NaN === NaN); // Should be false
console.log('NaN !== NaN:', NaN !== NaN); // Should be true
// Number.isNaN tests
console.log('\n=== Number.isNaN Tests ===');
console.log('Number.isNaN(NaN):', Number.isNaN(NaN));
console.log('Number.isNaN("wat" - 1):', Number.isNaN("wat" - 1));
console.log('Number.isNaN(123):', Number.isNaN(123));
console.log('Number.isNaN("hello"):', Number.isNaN("hello")); // Should be false (not a number type)
console.log('Number.isNaN(undefined):', Number.isNaN(undefined)); // Should be false
console.log('Number.isNaN(null):', Number.isNaN(null)); // Should be false
// parseInt/parseFloat with invalid input
console.log('\n=== parseInt/parseFloat NaN ===');
console.log('parseInt("notanumber"):', parseInt("notanumber"));
console.log('parseInt("123abc"):', parseInt("123abc"));
console.log('parseFloat("xyz"):', parseFloat("xyz"));
// Infinity tests
console.log('\n=== Infinity Tests ===');
console.log('Infinity:', Infinity);
console.log('typeof Infinity:', typeof Infinity);
console.log('1/0:', 1/0);
console.log('-1/0:', -1/0);
// Number.isFinite tests
console.log('\n=== Number.isFinite Tests ===');
console.log('Number.isFinite(123):', Number.isFinite(123));
console.log('Number.isFinite(1/0):', Number.isFinite(1/0));
console.log('Number.isFinite(-1/0):', Number.isFinite(-1/0));
console.log('Number.isFinite(NaN):', Number.isFinite(NaN));
console.log('Number.isFinite(Infinity):', Number.isFinite(Infinity));
console.log('Number.isFinite("123"):', Number.isFinite("123")); // Should be false (not a number type)
// Array.join with NaN
console.log('\n=== Array.join with NaN ===');
console.log('[1,2,3].join(NaN):', [1,2,3].join(NaN));
console.log('[1,2,3].join(0/0):', [1,2,3].join(0/0));
console.log('Array(16).join("wat" - 1) + " Batman!":', Array(16).join("wat" - 1) + " Batman!");
// String operations with NaN
console.log('\n=== String operations ===');
console.log('"Result: " + NaN:', "Result: " + NaN);
console.log('"Value: " + (0/0):', "Value: " + (0/0));
// Arithmetic with Infinity
console.log('\n=== Arithmetic with Infinity ===');
console.log('Infinity + 1:', Infinity + 1);
console.log('Infinity - 1:', Infinity - 1);
console.log('Infinity * 2:', Infinity * 2);
console.log('Infinity / 2:', Infinity / 2);
console.log('Infinity - Infinity:', Infinity - Infinity);
console.log('Infinity * 0:', Infinity * 0);
console.log('\n=== All tests completed ===');

File Metadata

Mime Type
text/plain
Expires
Sun, May 3, 8:25 AM (17 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
524189
Default Alt Text
test_nan_infinity.cjs (3 KB)

Event Timeline