Commit 0ac7e342 authored by astaxie's avatar astaxie

Merge pull request #118 from miraclesu/test

Refactor template visit & Add template test
parents 5ccdaeb0 2a9852fa
...@@ -51,34 +51,35 @@ func (self *templatefile) visit(paths string, f os.FileInfo, err error) error { ...@@ -51,34 +51,35 @@ func (self *templatefile) visit(paths string, f os.FileInfo, err error) error {
if f == nil { if f == nil {
return err return err
} }
if f.IsDir() { if f.IsDir() || (f.Mode()&os.ModeSymlink) > 0 {
return nil return nil
} else if (f.Mode() & os.ModeSymlink) > 0 { }
if !HasTemplateEXt(paths) {
return nil return nil
}
replace := strings.NewReplacer("\\", "/")
a := []byte(paths)
a = a[len([]byte(self.root)):]
subdir := path.Dir(strings.TrimLeft(replace.Replace(string(a)), "/"))
if _, ok := self.files[subdir]; ok {
self.files[subdir] = append(self.files[subdir], paths)
} else { } else {
hasExt := false m := make([]string, 1)
for _, v := range BeeTemplateExt { m[0] = paths
if strings.HasSuffix(paths, v) { self.files[subdir] = m
hasExt = true }
break
}
}
if hasExt {
replace := strings.NewReplacer("\\", "/")
a := []byte(paths)
a = a[len([]byte(self.root)):]
subdir := path.Dir(strings.TrimLeft(replace.Replace(string(a)), "/"))
if _, ok := self.files[subdir]; ok {
self.files[subdir] = append(self.files[subdir], paths)
} else {
m := make([]string, 1)
m[0] = paths
self.files[subdir] = m
}
return nil
}
func HasTemplateEXt(paths string) bool {
for _, v := range BeeTemplateExt {
if strings.HasSuffix(paths, "."+v) {
return true
} }
} }
return nil return false
} }
func AddTemplateExt(ext string) { func AddTemplateExt(ext string) {
......
package beego
import (
"os"
"path/filepath"
"testing"
)
func TestBuildTemplate(t *testing.T) {
dir := "_beeTmp"
files := []string{
"1.tpl",
"2.html",
"3.htmltpl",
"4.mystyle",
}
if err := os.MkdirAll(dir, 0777); err != nil {
t.Fatal(err)
}
for _, name := range files {
if _, err := os.Create(filepath.Join(dir, name)); err != nil {
t.Fatal(err)
}
}
if err := BuildTemplate(dir); err != nil {
t.Fatal(err)
}
if len(BeeTemplates) != 1 {
t.Fatalf("should be 1 but got %v", len(BeeTemplates))
}
for _, v := range BeeTemplates {
if len(v.Templates()) != 3 {
t.Errorf("should be 3 but got %v", len(v.Templates()))
}
}
AddTemplateExt("mystyle")
if err := BuildTemplate(dir); err != nil {
t.Fatal(err)
}
if len(BeeTemplates) != 1 {
t.Fatalf("should be 1 but got %v", len(BeeTemplates))
}
for _, v := range BeeTemplates {
if len(v.Templates()) != 4 {
t.Errorf("should be 4 but got %v", len(v.Templates()))
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment