/** * Szczegółowy test transformacji pipes w template */ import { TemplateTransformer } from '../../cli/processors/template/template-transformer'; console.log('\n=== Detailed Pipe Transformation Test ===\n'); const transformer = new TemplateTransformer(); // Test 1: Prosta interpolacja z pipe const test1 = `
{{ 123 | json }}
`; console.log('Test 1: Simple pipe'); console.log('Input:', test1); const result1 = transformer.transformAll(test1); console.log('Output:', result1); console.log(''); // Sprawdź czy zawiera this._pipes if (result1.includes('this._pipes')) { console.log('✓ Contains this._pipes'); // Wyciągnij wyrażenie const match = result1.match(/\[inner-text\]="([^"]+)"/); if (match) { console.log('Expression:', match[1]); // Sprawdź składnię if (match[1].includes("this._pipes?.['json']?.transform")) { console.log('✓ Correct syntax'); } else { console.log('✗ Incorrect syntax'); } } } else { console.log('✗ Does not contain this._pipes'); } console.log('\n---\n'); // Test 2: String z pipe const test2 = `
{{ "string" | json }}
`; console.log('Test 2: String with pipe'); console.log('Input:', test2); const result2 = transformer.transformAll(test2); console.log('Output:', result2); console.log(''); // Test 3: Boolean z pipe const test3 = `
{{ true | json }}
`; console.log('Test 3: Boolean with pipe'); console.log('Input:', test3); const result3 = transformer.transformAll(test3); console.log('Output:', result3); console.log(''); // Test 4: Zmienna z pipe const test4 = `
{{ value | json }}
`; console.log('Test 4: Variable with pipe'); console.log('Input:', test4); const result4 = transformer.transformAll(test4); console.log('Output:', result4); console.log(''); // Test 5: Sprawdzenie czy literały są poprawnie obsługiwane console.log('=== Checking literal handling ==='); const literalTests = [ { input: '123', expected: 'number literal' }, { input: '"string"', expected: 'string literal' }, { input: 'true', expected: 'boolean literal' }, { input: 'value', expected: 'variable' }, ]; literalTests.forEach(({ input, expected }) => { const template = `{{ ${input} | json }}`; const result = transformer.transformAll(template); const match = result.match(/transform\(([^)]+)\)/); if (match) { console.log(`${expected}: transform(${match[1]})`); } }); console.log('\n✅ Detailed transformation test completed');