diff options
Diffstat (limited to 'gopher/gophermap/mdconv/convert_test.go')
| -rw-r--r-- | gopher/gophermap/mdconv/convert_test.go | 69 | 
1 files changed, 69 insertions, 0 deletions
| diff --git a/gopher/gophermap/mdconv/convert_test.go b/gopher/gophermap/mdconv/convert_test.go new file mode 100644 index 0000000..2e39106 --- /dev/null +++ b/gopher/gophermap/mdconv/convert_test.go @@ -0,0 +1,69 @@ +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") +			} +		}) +	} +} | 
