This repository has been archived on 2020-11-14. You can view files and clone it, but cannot push or open issues or pull requests.
go-gemtext/render_test.go

48 lines
1.3 KiB
Go
Raw Normal View History

2020-11-12 21:02:05 +00:00
package gemtext
import "testing"
type PrefixCase struct {
Prefix string
Link string
Want string
}
func TestAddPrefix(t *testing.T) {
cases := []PrefixCase{
PrefixCase{Prefix: "", Link: "/test/", Want: "/test"},
PrefixCase{Prefix:"https:itwont.work/", Link: "/test/stuff.gmi", Want: "https:itwont.work/test/stuff.gmi"},
PrefixCase{Prefix:"https:itwont.work/", Link: "test/stuff.gmi", Want: "test/stuff.gmi"},
PrefixCase{Prefix:"", Link: "", Want: ""},
PrefixCase{Prefix:"https:itwont.work/", Link: "", Want: ""},
}
for _, c := range cases {
got := addPrefix(c.Prefix,c.Link)
if got != c.Want {
t.Errorf("Case %#v, Got %#v", c, got)
}
}
}
type LineRenderCase struct {
In GemtextObject
Want string
}
func TestRenderHeading(t *testing.T) {
cases := []LineRenderCase{
LineRenderCase{In: GemtextObject{Type: HEADING, Level: 1, Text: "Hello"}, Want:"# Hello"}, // I'm not adding a Literal to these cases.
LineRenderCase{In: GemtextObject{Type: HEADING, Level: 2, Text: ""}, Want:"## "},
LineRenderCase{In: GemtextObject{Type: HEADING, Level: 2, Text: "Hello"}, Want:"## Hello"},
LineRenderCase{In: GemtextObject{Type: HEADING, Level: 3, Text: "This contains spaces"}, Want:"### This contains spaces"},
}
for _, c := range cases {
got, _ := RenderHeading(c.In)
if got != c.Want {
t.Errorf("Case %#v, Got %#v", c, got)
}
}
}