0
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2024-12-23 22:27:38 -05:00
caddy/caddyhttp/markdown/process_test.go
Peer Beckmann e5ef285e59 Generate meta elements from prelude items description and keywords (#1335)
* Generate meta elements from useful front matters.
Limited to the default template and specific elements.

* Rerun gofmt

* Add "keywords" and remove "language" to/from the list of meta tags.

* Add a simple positive list test for the meta tag generation.

* Move the meta tag list to a var at the begin of the file.
Seperate the Meta tags from the other front matters:
	- Don't override user settings with name `meta`
	- Cleaner Code.

* Remove the uneccessary `[:]` in the []Bytes to String casting.
@mholt was right ;)

* One minor refinement. Combining two statements.
2017-01-22 19:16:38 -07:00

42 lines
1.1 KiB
Go

package markdown
import (
"github.com/mholt/caddy/caddyhttp/httpserver"
"os"
"strings"
"testing"
)
func TestConfig_Markdown(t *testing.T) {
tests := []map[string]string{
{"author": "authorVal"},
{"copyright": "copyrightVal"},
{"description": "descriptionVal"},
{"subject": "subjectVal"},
{"author": "authorVal", "copyright": "copyrightVal"},
{"author": "authorVal", "copyright": "copyrightVal", "description": "descriptionVal"},
{"author": "authorVal", "copyright": "copyrightVal", "description": "descriptionVal", "subject": "subjectVal"},
}
for i, meta := range tests {
config := &Config{
Template: GetDefaultTemplate(),
}
toml := "+++"
for key, val := range meta {
toml = toml + "\n" + key + "= \"" + val + "\""
}
toml = toml + "\n+++"
res, _ := config.Markdown("Test title", strings.NewReader(toml), []os.FileInfo{}, httpserver.Context{})
sRes := string(res)
for key, val := range meta {
c := strings.Contains(sRes, "<meta name=\""+key+"\" content=\""+val+"\">")
if !c {
t.Error("Test case", i, "should contain meta", key, val)
}
}
}
}