import { marked } from 'marked' import markedMfm from '../src/index.js' describe('marked-mfm', () => { test('inline', () => { marked.use(markedMfm) expect(marked('$[x2 this text is bigger]')).toBe('

this text is bigger

\n') }) test('multiline', () => { marked.use(markedMfm) expect(marked('$[x2 line1\nline2]')).toBe('

line1\nline2

\n') }) test('nested', () => { marked.use(markedMfm) expect(marked('$[x2 x2 $[sparkle sparkle]]')).toBe('

x2 sparkle

\n') }) test('lazy matching', () => { marked.use(markedMfm) expect(marked('$[x2 one] $[x2 two]')).toBe('

one two

\n') }) test('nested & lazy matching', () => { marked.use(markedMfm) expect(marked('$[x2 one $[x2 two]] $[x2 three]')).toBe('

one two three

\n') }) test('invalid', () => { marked.use(markedMfm) expect(marked('$[invalid $[x2 test]]')).toBe('

$[invalid test]

\n') }) test('one option', () => { marked.use(markedMfm) expect(marked('$[twitch.speed=2s test]')).toBe('

test

\n') }) test('multiple options', () => { marked.use(markedMfm) expect(marked('$[spin.alternate,speed=0.5s test]')).toBe('

test

\n') }) test('escaped', () => { marked.use(markedMfm) expect(marked('\\$[spin test]')).toBe('

$[spin test]

\n') }) test('center', () => { marked.use(markedMfm) expect(marked('
test *italic*
')).toBe('
test italic
\n') }) })