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 ! - 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 !
  1. et maintenant
  2. elle l'est
Ceci est ma pfp :3
Ma pfp hehe :D Elle est magnifique, n'est-ce pas ?
` func TestAst(t *testing.T) { lxs := lex(raw) tree, err := ast(lxs) if err != nil { t.Fatal(err) } res, err := tree.Eval() if err != nil { t.Fatal(err) } wanted := strings.ReplaceAll(parsed, "\n", "") if string(res) != wanted { t.Errorf("invalid string, got\n%s", res) t.Logf("wanted\n%s", wanted) } }