Merge pull request #168 from Karthic-Hackintosh/master

Initial Test case for config/setup/templates.go
This commit is contained in:
Matt Holt 2015-06-26 16:23:39 -06:00
commit c12257a1a7
2 changed files with 48 additions and 5 deletions

View File

@ -39,11 +39,11 @@ func templatesParse(c *Controller) ([]templates.Rule, error) {
// Any remaining arguments are extensions
rule.Extensions = c.RemainingArgs()
if len(rule.Extensions) == 0 {
rule.Extensions = defaultExtensions
rule.Extensions = defaultTemplateExtensions
}
} else {
rule.Path = defaultPath
rule.Extensions = defaultExtensions
rule.Path = defaultTemplatePath
rule.Extensions = defaultTemplateExtensions
}
for _, ext := range rule.Extensions {
@ -56,6 +56,6 @@ func templatesParse(c *Controller) ([]templates.Rule, error) {
return rules, nil
}
const defaultPath = "/"
const defaultTemplatePath = "/"
var defaultExtensions = []string{".html", ".htm", ".tmpl", ".tpl", ".txt"}
var defaultTemplateExtensions = []string{".html", ".htm", ".tmpl", ".tpl", ".txt"}

View File

@ -0,0 +1,43 @@
package setup
import (
"fmt"
"github.com/mholt/caddy/middleware/templates"
"testing"
)
func TestTemplates(t *testing.T) {
c := NewTestController(`templates`)
mid, err := Templates(c)
if err != nil {
t.Errorf("Expected no errors, got: %v", err)
}
if mid == nil {
t.Fatal("Expected middleware, was nil instead")
}
handler := mid(EmptyNext)
myHandler, ok := handler.(templates.Templates)
if !ok {
t.Fatalf("Expected handler to be type Templates, got: %#v", handler)
}
if myHandler.Rules[0].Path != defaultTemplatePath {
t.Errorf("Expected / as the default Path")
}
if fmt.Sprint(myHandler.Rules[0].Extensions) != fmt.Sprint(defaultTemplateExtensions) {
t.Errorf("Expected %v to be the Default Extensions", defaultTemplateExtensions)
}
var indexFiles []string
for _, extension := range defaultTemplateExtensions {
indexFiles = append(indexFiles, "index"+extension)
}
if fmt.Sprint(myHandler.Rules[0].IndexFiles) != fmt.Sprint(indexFiles) {
t.Errorf("Expected %v to be the Default Index files", indexFiles)
}
}