const assert = require('assert');
const CatML = require('../catml.js');
console.log('š¾ Running CaTML Test Suite...\n');
// Test 1: Tag Translations
console.log('Test 1: Basic tag translations');
const source1 = 'Hello world';
const expected1 = '
';
assert.strictEqual(CatML.compile(source1), expected1);
console.log('ā Passed: Basic tags');
// Test 2: Headings and lists
console.log('Test 2: Headings and food bowls');
const source2 = 'Grand MeowTunaSalmon';
const expected2 = 'Grand Meow
';
assert.strictEqual(CatML.compile(source2), expected2);
console.log('ā Passed: Headings and lists');
// Test 3: Attributes (catch, prey, scent, breed, tag, fluff)
console.log('Test 3: Attribute translation');
const source3 = '';
const compiled3 = CatML.compile(source3);
assert(compiled3.includes('
Catch!'));
assert(compiled4.includes(', , , , )
console.log('Test 5: Full document translation');
const source5 = `
My Cat Page
Header
Content
Footer
`.trim();
const compiled5 = CatML.compile(source5);
assert(compiled5.includes(''));
assert(compiled5.includes(''));
assert(compiled5.includes('My Cat Page'));
assert(compiled5.includes(''));
assert(compiled5.includes(''));
assert(compiled5.includes(''));
assert(compiled5.includes(''));
assert(compiled5.includes(''));
console.log('ā Passed: Full document structure');
// Test 6: Script / Style elements (, )
console.log('Test 6: Script & styles');
const source6 = 'box { color: orange; }console.log("purr");';
const compiled6 = CatML.compile(source6);
assert.strictEqual(compiled6, '');
console.log('ā Passed: Styles and scripts');
console.log('\nš ALL CaTML TESTS PASSED! Purrfection achieved! š±');