package mdconv import ( "bytes" "fmt" "strings" "testing" "tildegit.org/tjp/sliderule/gopher/gophermap" ) func TestConvert(t *testing.T) { tests := []struct { name string input string output string }{ { name: "basic doc", input: strings.ReplaceAll(` iI am informational text localhost 70 icontinued on this line localhost 70 i localhost 70 0this is my text file /file.txt localhost 70 i localhost 70 1here's a sub-menu /sub/ localhost 70 . `[1:], "\n", "\r\n"), output: (` ` + "```" + ` I am informational text continued on this line ` + "```" + ` [this is my text file](/file.txt) ` + "```" + ` ` + "```" + ` [here's a sub-menu](/sub/) `)[1:], }, } for _, test := range tests { t.Run(test.name, func(t *testing.T) { doc, err := gophermap.Parse(bytes.NewBufferString(test.input)) if err != nil { t.Fatal(err) } buf := &bytes.Buffer{} if err := Convert(buf, doc, nil); err != nil { t.Fatal(err) } if buf.String() != test.output { fmt.Println(">>> expected:") fmt.Println(test.output) fmt.Println(">>> got:") fmt.Println(buf.String()) t.Fatal("html body mismatch") } }) } }