MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1// Test console methods (log, error, warn, assert, trace)
2console.log('=== Testing Console Methods ===');
3
4// Test 1: console.log
5console.log('Test 1: console.log');
6console.log(' - Basic message');
7console.log(' - Multiple', 'arguments', 'work');
8console.log(' - Numbers:', 42, 3.14);
9console.log(' - Objects:', { key: 'value' });
10
11// Test 2: console.error
12console.error('Test 2: console.error - This should appear in red');
13
14// Test 3: console.warn
15console.warn('Test 3: console.warn - This should appear in yellow');
16
17// Test 4: console.assert with true condition
18console.assert(true, 'This should not print');
19console.assert(1 === 1, 'Math check');
20console.log('Test 4: console.assert (true conditions) - passed');
21
22// Test 5: console.assert with false condition
23console.assert(false, 'Expected assertion failure');
24console.assert(1 === 2, 'This assertion fails');
25console.log('Test 5: console.assert (false conditions) - checked');
26
27// Test 6: console.trace
28console.trace('Test 6: console.trace with message');
29
30// Test 7: console.trace with nested functions
31function level3() {
32 console.trace('Trace from level 3');
33}
34
35function level2() {
36 level3();
37}
38
39function level1() {
40 level2();
41}
42
43console.log('Starting nested function trace:');
44level1();
45
46// Test 8: Complex objects
47const complexObj = {
48 name: 'test',
49 nested: { x: 1, y: 2 },
50 array: [1, 2, 3],
51 bool: true
52};
53console.log('Test 8: Complex object:', complexObj);
54
55// Test 9: Empty console.trace
56console.trace();
57
58console.log('\n=== All console method tests completed ===');