import { describe, expect, it } from 'vitest'; import { plain, render } from '../../src/lib/markdown'; describe('markdown', () => { it('escapes html before anything', () => { expect(render('')).toBe('

<script>alert(1)</script>

'); expect(render('**x**')).toBe('

<b>x</b>

'); }); it('paragraphs, breaks, emphasis, code', () => { expect(render('un **être humain** vivant\nligne\n\n*note*')).toBe( '

un être humain vivant
ligne

note

', ); expect(render('`DU(n+1) = DU(n)`')).toBe('

DU(n+1) = DU(n)

'); }); it('lists', () => { expect(render('- Stock de **100**\n- 5 jours')).toBe(''); expect(render('1. un\n2. deux')).toBe('
  1. un
  2. deux
'); }); it('numbered paragraphs that are not lists stay paragraphs', () => { expect(render('**1.** Derrière une clé')).toBe('

1. Derrière une clé

'); }); it('plain excerpts', () => { expect(plain('**1.** Derrière\n- une clé')).toBe('1. Derrière une clé'); }); });