diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2025-10-01 09:26:10 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2025-10-01 09:26:10 +0200 |
| commit | 914dc68dfbef59908246b8bfff6d1e7ca705249d (patch) | |
| tree | 0651c3bea86ac0e6bb5a2e54138ee140b1128692 /mardown | |
| parent | ce5cf951ac6228f96f6f51e3c9e4d8af24702b55 (diff) | |
test(markdown): general file
Diffstat (limited to 'mardown')
| -rw-r--r-- | mardown/ast_modifier.go | 2 | ||||
| -rw-r--r-- | mardown/ast_test.go | 37 |
2 files changed, 37 insertions, 2 deletions
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 = ` +<h1>Je suis un titre</h1> +<p>Avec une description classique, sur plusieurs lignes</p> +<p>Et je peux mettre du texte en <b>gras</b>, en <em>italique</em> et les <b><em>deux en même temps</em></b> !</p> +<div class="quote"><blockquote>Je suis une magnifique source sur plusieurs lignes</blockquote><p>avec une source</p></div> +` 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) + } } |
