From a65b9cb6b2c7dc7b48b8076d5e463776f1de0cf1 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Sun, 14 Dec 2025 18:05:35 +0100 Subject: feat(markdown): custom replacer --- markdown/lexer_test.go | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'markdown/lexer_test.go') diff --git a/markdown/lexer_test.go b/markdown/lexer_test.go index e994142..d8ec3ba 100644 --- a/markdown/lexer_test.go +++ b/markdown/lexer_test.go @@ -3,28 +3,43 @@ package markdown import "testing" func TestLex(t *testing.T) { - lxs := lex("bonjour les gens") + opt := new(Option) + lxs := lex("bonjour les gens", opt) if lxs.String() != "Lexers[literal(bonjour les gens) ]" { t.Errorf("invalid lex, got %s", lxs) } - lxs = lex("# bonjour les gens") + lxs = lex("# bonjour les gens", opt) if lxs.String() != "Lexers[header(#) literal( bonjour les gens) ]" { t.Errorf("invalid lex, got %s", lxs) } - lxs = lex("# bonjour les gens\nComment ça va ?") + lxs = lex("# bonjour les gens\nComment ça va ?", opt) if lxs.String() != `Lexers[header(#) literal( bonjour les gens) break({\n}) literal(Comment ça va ?) ]` { t.Errorf("invalid lex, got %s", lxs) } - lxs = lex("***hey***, what's up?") + lxs = lex("***hey***, what's up?", opt) if lxs.String() != "Lexers[modifier(***) literal(hey) modifier(***) literal(, what's up?) ]" { t.Errorf("invalid lex, got %s", lxs) } - lxs = lex(`Xxx\_DarkEmperor\_xxX`) + lxs = lex(`Xxx\_DarkEmperor\_xxX`, opt) if lxs.String() != `Lexers[literal(Xxx_DarkEmperor_xxX) ]` { t.Errorf("invalid lex, got %s", lxs) } - lxs = lex(`* list`) + lxs = lex(`* list`, opt) if lxs.String() != `Lexers[list(*) literal( list) ]` { t.Errorf("invalid lex, got %s", lxs) } } + +func TestLex_Replacer(t *testing.T) { + opt := &Option{ + Replaces: map[rune]string{'~': " "}, + } + lxs := lex("bonjour les gens", opt) + if lxs.String() != "Lexers[literal(bonjour les gens) ]" { + t.Errorf("invalid lex, got %s", lxs) + } + lxs = lex("bonjour les gens~!", opt) + if lxs.String() != "Lexers[literal(bonjour les gens) replace(~) external(!) ]" { + t.Errorf("invalid lex, got %s", lxs) + } +} -- cgit v1.2.3