MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 58 lines 2.6 kB view raw
1console.log('=== Numeric Separator Tests ===\n'); 2 3// Test 1: Decimal separators 4console.log('Test 1: Decimal separators'); 5console.log('1_000:', 1_000); 6console.log('1_000_000:', 1_000_000); 7console.log('86_400_000:', 86_400_000); 8console.log('1_000 === 1000:', 1_000 === 1000 ? 'PASS' : 'FAIL'); 9console.log('1_000_000 === 1000000:', 1_000_000 === 1000000 ? 'PASS' : 'FAIL'); 10console.log('86_400_000 === 86400000:', 86_400_000 === 86400000 ? 'PASS' : 'FAIL'); 11 12// Test 2: Hexadecimal separators 13console.log('\nTest 2: Hexadecimal separators'); 14console.log('0xFF_FF:', 0xFF_FF); 15console.log('0xDE_AD_BE_EF:', 0xDE_AD_BE_EF); 16console.log('0xFF_AA_BB:', 0xFF_AA_BB); 17console.log('0xFF_FF === 65535:', 0xFF_FF === 65535 ? 'PASS' : 'FAIL'); 18console.log('0xDE_AD_BE_EF === 3735928559:', 0xDE_AD_BE_EF === 3735928559 ? 'PASS' : 'FAIL'); 19 20// Test 3: Binary separators 21console.log('\nTest 3: Binary separators'); 22console.log('0b1010_1010:', 0b1010_1010); 23console.log('0b1111_0000_1111_0000:', 0b1111_0000_1111_0000); 24console.log('0b1010_1010 === 170:', 0b1010_1010 === 170 ? 'PASS' : 'FAIL'); 25console.log('0b1111_0000_1111_0000 === 61680:', 0b1111_0000_1111_0000 === 61680 ? 'PASS' : 'FAIL'); 26 27// Test 4: Octal separators 28console.log('\nTest 4: Octal separators'); 29console.log('0o77_00:', 0o77_00); 30console.log('0o123_456:', 0o123_456); 31console.log('0o77_00 === 4032:', 0o77_00 === 4032 ? 'PASS' : 'FAIL'); 32console.log('0o123_456 === 42798:', 0o123_456 === 42798 ? 'PASS' : 'FAIL'); 33 34// Test 5: Floating point separators 35console.log('\nTest 5: Floating point separators'); 36console.log('1_000.5:', 1_000.5); 37console.log('1_000.123_456:', 1_000.123_456); 38console.log('1_000.5 === 1000.5:', 1_000.5 === 1000.5 ? 'PASS' : 'FAIL'); 39console.log('1_000.123_456 === 1000.123456:', 1_000.123_456 === 1000.123456 ? 'PASS' : 'FAIL'); 40 41// Test 6: Mixed expressions 42console.log('\nTest 6: Mixed expressions'); 43const sum = 1_000 + 2_000 + 3_000; 44console.log('1_000 + 2_000 + 3_000 =', sum); 45console.log('Sum === 6000:', sum === 6000 ? 'PASS' : 'FAIL'); 46 47const product = 10_00 * 10_0; 48console.log('10_00 * 10_0 =', product); 49console.log('Product === 100000:', product === 100000 ? 'PASS' : 'FAIL'); 50 51// Test 7: Comparison with regular literals 52console.log('\nTest 7: Comparison with regular literals'); 53console.log('1_2_3_4_5 === 12345:', 1_2_3_4_5 === 12345 ? 'PASS' : 'FAIL'); 54console.log('0xA_B_C === 0xABC:', 0xA_B_C === 0xABC ? 'PASS' : 'FAIL'); 55console.log('0b1_0_1_0 === 0b1010:', 0b1_0_1_0 === 0b1010 ? 'PASS' : 'FAIL'); 56console.log('0o7_7_7 === 0o777:', 0o7_7_7 === 0o777 ? 'PASS' : 'FAIL'); 57 58console.log('\n=== All numeric separator tests completed ===');