UNPKG

@ordojs/core

Version:

Core compiler and runtime for OrdoJS framework

61 lines (49 loc) 1.5 kB
/** * @fileoverview Tests for OrdoJS Compiler */ import { describe, expect, it } from 'vitest'; import { OrdoJSCompiler } from './index.js'; describe('OrdoJSCompiler', () => { it('should compile a simple component', () => { const compiler = new OrdoJSCompiler({ target: 'es2022', optimize: false, sourceMaps: false, minify: false }); const source = ` component SimpleComponent { markup { <div>Hello, World!</div> } } `; const result = compiler.compile(source); // Verify compilation was successful expect(result.success).toBe(true); expect(result.errors).toHaveLength(0); // Verify the output contains expected elements expect(result.output).toContain('function SimpleComponent(props = {})'); expect(result.output).toContain('document.createElement("div")'); expect(result.output).toContain('Hello, World!'); }); it('should handle compilation errors gracefully', () => { const compiler = new OrdoJSCompiler({ target: 'es2022', optimize: false, sourceMaps: false, minify: false }); // Invalid component (missing closing brace) const source = ` component InvalidComponent { markup { <div>Missing closing brace</div> } `; const result = compiler.compile(source); // Verify compilation failed expect(result.success).toBe(false); expect(result.errors.length).toBeGreaterThan(0); }); });