package main import ( "testing" ) func doonezerotest(t *testing.T, input, output string) { result := markitzero(input) if result != output { t.Errorf("\nexpected:\n%s\noutput:\n%s", output, result) } } func TestBasictest(t *testing.T) { input := `link to https://example.com/ with **bold** text` output := `link to https://example.com/ with bold text` doonezerotest(t, input, output) } func TestLinebreak1(t *testing.T) { input := "hello\n> a quote\na comment" output := "hello
a quote
a comment"
doonezerotest(t, input, output)
}
func TestLinebreak2(t *testing.T) {
input := "hello\n\n> a quote\n\na comment"
output := "hello
a quote
a comment"
doonezerotest(t, input, output)
}
func TestLinebreak3(t *testing.T) {
input := "hello\n\n```\nfunc(s string)\n```\n\ndoes it go?"
output := "hello
func(s string)
does it go?"
doonezerotest(t, input, output)
}
func TestCodeStyles(t *testing.T) {
input := "hello\n\n```go\nfunc(s string)\n```\n\ndoes it go?"
output := "hello
func(s string)
does it go?"
doonezerotest(t, input, output)
}
func TestSimplelink(t *testing.T) {
input := "This is a [link](https://example.com)."
output := `This is a link.`
doonezerotest(t, input, output)
}
func TestSimplelink2(t *testing.T) {
input := "See (http://example.com) for examples."
output := `See (http://example.com) for examples.`
doonezerotest(t, input, output)
}
func TestWikilink(t *testing.T) {
input := "I watched [Hackers](https://en.wikipedia.org/wiki/Hackers_(film))"
output := `I watched Hackers`
doonezerotest(t, input, output)
}
func TestQuotedlink(t *testing.T) {
input := `quoted "https://example.com/link" here`
output := `quoted "https://example.com/link" here`
doonezerotest(t, input, output)
}
func TestHonklink(t *testing.T) {
input := `https://en.wikipedia.org/wiki/Honk!`
output := `https://en.wikipedia.org/wiki/Honk!`
doonezerotest(t, input, output)
}
func TestImagelink(t *testing.T) {
input := `an image and linked [
](example.com)`
output := `an image
and linked
`
doonezerotest(t, input, output)
}