package markdown import ( "strings" "testing" ) var raw = ` # Je suis un titre Avec une description classique, sur plusieurs lignes ! Et je peux mettre du texte en **gras**, en *italique* et les **_deux en même temps_** ! > Je suis une magnifique citation > sur plusieurs lignes avec une source > qui recommence après ! qui a elle aussi une source :D - Ceci est une liste - pas ordonnée 1. et maintenant 2. elle l'est - hehe ![Ceci est ma pfp :3](https://cdn.anhgelus.world/pfp.jpg) [Ma pfp](https://now.anhgelus.world/) hehe :D Elle est **magnifique**, n'est-ce pas ? ` var parsed = `

Je suis un titre

Avec une description classique, sur plusieurs lignes !

Et je peux mettre du texte en gras, en italique et les deux en même temps !

Je suis une magnifique citation sur plusieurs lignes

avec une source

qui recommence après !

qui a elle aussi une source :D

  1. et maintenant
  2. elle l'est
Ceci est ma pfp :3
Ma pfp hehe :D Elle est magnifique, n'est-ce pas ?
` var parsedPoem = `

Je suis un titre

Avec une description classique,
sur plusieurs lignes !

Et je peux mettre du texte en gras,
en italique et les deux en même temps !

Je suis une magnifique citation sur plusieurs lignes

avec une source

qui recommence après !

qui a elle aussi une source :D

  1. et maintenant
  2. elle l'est
Ceci est ma pfp :3
Ma pfp hehe :D Elle est magnifique, n'est-ce pas ?
` func test(input, expected string) func(*testing.T) { return testWithOptions(nil, input, expected) } func testWithOptions(opt *Option, input, expected string) func(*testing.T) { return func(t *testing.T) { t.Parallel() got, err := Parse(input, opt) if err != nil { t.Fatal(err) } if string(got) != expected { t.Errorf("invalid value, got %s", got) } } } func TestAst(t *testing.T) { t.Run("ast", func(t *testing.T) { t.Run("complete", test(raw, strings.ReplaceAll(parsed, "\n", ""))) t.Run("poem", testWithOptions(&Option{Poem: true}, raw, strings.ReplaceAll(parsedPoem, "\n", ""))) }) }