Page MenuHomePhorge

test_number_literals.cjs
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

test_number_literals.cjs

console.log('=== Number Literal Tests ===\n');
// Test 1: Binary literals
console.log('Test 1: Binary literals');
console.log('0b0:', 0b0);
console.log('0b1:', 0b1);
console.log('0b10:', 0b10);
console.log('0b1010:', 0b1010);
console.log('0b11111111:', 0b11111111);
console.log('Binary 0b1010 === 10:', 0b1010 === 10 ? 'PASS' : 'FAIL');
console.log('Binary 0b11111111 === 255:', 0b11111111 === 255 ? 'PASS' : 'FAIL');
// Test 2: Octal literals
console.log('\nTest 2: Octal literals');
console.log('0o0:', 0o0);
console.log('0o7:', 0o7);
console.log('0o10:', 0o10);
console.log('0o755:', 0o755);
console.log('0o777:', 0o777);
console.log('Octal 0o10 === 8:', 0o10 === 8 ? 'PASS' : 'FAIL');
console.log('Octal 0o755 === 493:', 0o755 === 493 ? 'PASS' : 'FAIL');
// Test 3: Hexadecimal literals
console.log('\nTest 3: Hexadecimal literals');
console.log('0x0:', 0x0);
console.log('0xF:', 0xF);
console.log('0x10:', 0x10);
console.log('0xFF:', 0xFF);
console.log('0xDEADBEEF:', 0xDEADBEEF);
console.log('Hex 0x10 === 16:', 0x10 === 16 ? 'PASS' : 'FAIL');
console.log('Hex 0xFF === 255:', 0xFF === 255 ? 'PASS' : 'FAIL');
// Test 4: Uppercase variants
console.log('\nTest 4: Uppercase variants');
console.log('0B1010:', 0B1010);
console.log('0O755:', 0O755);
console.log('0XFF:', 0XFF);
console.log('Uppercase 0B1010 === 10:', 0B1010 === 10 ? 'PASS' : 'FAIL');
console.log('Uppercase 0O755 === 493:', 0O755 === 493 ? 'PASS' : 'FAIL');
console.log('Uppercase 0XFF === 255:', 0XFF === 255 ? 'PASS' : 'FAIL');
// Test 5: Mixed usage in expressions
console.log('\nTest 5: Mixed usage in expressions');
const sum = 0b1010 + 0o12 + 0x0A;
console.log('0b1010 + 0o12 + 0x0A =', sum);
console.log('Sum === 30:', sum === 30 ? 'PASS' : 'FAIL');
const product = 0b10 * 0o10 * 0x10;
console.log('0b10 * 0o10 * 0x10 =', product);
console.log('Product === 256:', product === 256 ? 'PASS' : 'FAIL');
// Test 6: Bitwise operations with binary literals
console.log('\nTest 6: Bitwise operations with binary literals');
console.log('0b1111 & 0b1010 =', (0b1111 & 0b1010).toString(2).padStart(4, '0'));
console.log('0b1111 | 0b1010 =', (0b1111 | 0b1010).toString(2).padStart(4, '0'));
console.log('0b1111 ^ 0b1010 =', (0b1111 ^ 0b1010).toString(2).padStart(4, '0'));
console.log('AND result === 10:', (0b1111 & 0b1010) === 10 ? 'PASS' : 'FAIL');
console.log('OR result === 15:', (0b1111 | 0b1010) === 15 ? 'PASS' : 'FAIL');
console.log('XOR result === 5:', (0b1111 ^ 0b1010) === 5 ? 'PASS' : 'FAIL');
// Test 7: All representations of the same number
console.log('\nTest 7: All representations of the same number');
console.log('Binary 0b1111 === 15:', 0b1111 === 15);
console.log('Octal 0o17 === 15:', 0o17 === 15);
console.log('Hex 0xF === 15:', 0xF === 15);
console.log('Decimal 15 === 15:', 15 === 15);
console.log('All equal:', (0b1111 === 0o17 && 0o17 === 0xF && 0xF === 15) ? 'PASS' : 'FAIL');
console.log('\n=== All number literal tests completed ===');

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 17, 1:13 PM (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
523934
Default Alt Text
test_number_literals.cjs (2 KB)

Event Timeline