From 914dc68dfbef59908246b8bfff6d1e7ca705249d Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Wed, 1 Oct 2025 09:26:10 +0200 Subject: test(markdown): general file --- mardown/ast_modifier.go | 2 +- mardown/ast_test.go | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) (limited to 'mardown') diff --git a/mardown/ast_modifier.go b/mardown/ast_modifier.go index 570fbd2..2d1cd4f 100644 --- a/mardown/ast_modifier.go +++ b/mardown/ast_modifier.go @@ -57,7 +57,7 @@ func modifier(lxs *lexers) (*astModifier, error) { } } var s string - for lxs.Next() { + for modInside != nil && lxs.Next() { switch lxs.Current().Type { case lexerLiteral: s += lxs.Current().Value diff --git a/mardown/ast_test.go b/mardown/ast_test.go index 4114150..6215ced 100644 --- a/mardown/ast_test.go +++ b/mardown/ast_test.go @@ -1,6 +1,41 @@ package mardown -import "testing" +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 +` + +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 source sur plusieurs lignes

avec une source

+` 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) + } + if string(res) != strings.ReplaceAll(parsed, "\n", "") { + t.Errorf("invalid string, got %s", res) + } } -- cgit v1.2.3