mirror of https://github.com/jlelse/GoBlog
69 lines
1.6 KiB
Go
69 lines
1.6 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func Test_markdown(t *testing.T) {
|
||
|
t.Run("Basic Markdown tests", func(t *testing.T) {
|
||
|
app := &goBlog{
|
||
|
cfg: &config{
|
||
|
Server: &configServer{
|
||
|
PublicAddress: "https://example.com",
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
app.initMarkdown()
|
||
|
|
||
|
// Relative / absolute links
|
||
|
|
||
|
rendered, err := app.renderMarkdown("[Relative](/relative)", false)
|
||
|
if err != nil {
|
||
|
t.Errorf("Error: %v", err)
|
||
|
}
|
||
|
if !strings.Contains(string(rendered), `href="/relative"`) {
|
||
|
t.Errorf("Wrong result, got %v", string(rendered))
|
||
|
}
|
||
|
|
||
|
rendered, err = app.renderMarkdown("[Relative](/relative)", true)
|
||
|
if err != nil {
|
||
|
t.Errorf("Error: %v", err)
|
||
|
}
|
||
|
if !strings.Contains(string(rendered), `href="https://example.com/relative"`) {
|
||
|
t.Errorf("Wrong result, got %v", string(rendered))
|
||
|
}
|
||
|
if strings.Contains(string(rendered), `target="_blank"`) {
|
||
|
t.Errorf("Wrong result, got %v", string(rendered))
|
||
|
}
|
||
|
|
||
|
// External links
|
||
|
|
||
|
rendered, err = app.renderMarkdown("[External](https://example.com)", true)
|
||
|
if err != nil {
|
||
|
t.Errorf("Error: %v", err)
|
||
|
}
|
||
|
if !strings.Contains(string(rendered), `target="_blank"`) {
|
||
|
t.Errorf("Wrong result, got %v", string(rendered))
|
||
|
}
|
||
|
|
||
|
// Link title
|
||
|
|
||
|
rendered, err = app.renderMarkdown(`[With title](https://example.com "Test-Title")`, true)
|
||
|
if err != nil {
|
||
|
t.Errorf("Error: %v", err)
|
||
|
}
|
||
|
if !strings.Contains(string(rendered), `title="Test-Title"`) {
|
||
|
t.Errorf("Wrong result, got %v", string(rendered))
|
||
|
}
|
||
|
|
||
|
// Text
|
||
|
|
||
|
renderedText := app.renderText("**This** *is* [text](/)")
|
||
|
if renderedText != "This is text" {
|
||
|
t.Errorf("Wrong result, got \"%v\"", renderedText)
|
||
|
}
|
||
|
})
|
||
|
}
|