26 lines
1.2 KiB
TypeScript
26 lines
1.2 KiB
TypeScript
import { describe, expect, test } from 'bun:test';
|
|
|
|
import { SimpleMarkdownRenderer } from './MarkdownRenderer';
|
|
import { QuestionMarkdown } from './QuestionMarkdown';
|
|
|
|
describe('QuestionMarkdown', () => {
|
|
test('delegates exact content to the tool markdown renderer', () => {
|
|
const content = 'Choose **one** from `mode`: [details](https://example.com)';
|
|
const element = QuestionMarkdown({ content, size: 'meta' });
|
|
|
|
expect(element.type).toBe(SimpleMarkdownRenderer);
|
|
expect(element.props.content).toBe(content);
|
|
expect(element.props.variant).toBe('tool');
|
|
expect(element.props.fallbackContent.props.children).toBe(content);
|
|
expect(element.props.fallbackContent.props.className).toContain('whitespace-pre-wrap');
|
|
});
|
|
|
|
test('preserves question typography size and caller classes', () => {
|
|
const meta = QuestionMarkdown({ content: 'Meta', size: 'meta', className: 'font-medium text-foreground' });
|
|
const micro = QuestionMarkdown({ content: 'Micro', size: 'micro', className: 'text-muted-foreground' });
|
|
|
|
expect(meta.props.className).toBe('question-markdown typography-meta font-medium text-foreground');
|
|
expect(micro.props.className).toBe('question-markdown typography-micro text-muted-foreground');
|
|
});
|
|
});
|