de2dd6e0 by astaxie

update template's testcase

1 parent ffb347a2
...@@ -65,7 +65,7 @@ func (self *templatefile) visit(paths string, f os.FileInfo, err error) error { ...@@ -65,7 +65,7 @@ func (self *templatefile) visit(paths string, f os.FileInfo, err error) error {
65 a = a[len([]byte(self.root)):] 65 a = a[len([]byte(self.root)):]
66 file := strings.TrimLeft(replace.Replace(string(a)), "/") 66 file := strings.TrimLeft(replace.Replace(string(a)), "/")
67 subdir := filepath.Dir(file) 67 subdir := filepath.Dir(file)
68 t, err := getTemplate(file) 68 t, err := getTemplate(self.root, file)
69 if err != nil { 69 if err != nil {
70 Trace("parse template err:", file, err) 70 Trace("parse template err:", file, err)
71 } else { 71 } else {
...@@ -122,8 +122,8 @@ func BuildTemplate(dir string) error { ...@@ -122,8 +122,8 @@ func BuildTemplate(dir string) error {
122 return nil 122 return nil
123 } 123 }
124 124
125 func getTplDeep(file string, t *template.Template) (*template.Template, error) { 125 func getTplDeep(root, file string, t *template.Template) (*template.Template, error) {
126 fileabspath := filepath.Join(ViewsPath, file) 126 fileabspath := filepath.Join(root, file)
127 data, err := ioutil.ReadFile(fileabspath) 127 data, err := ioutil.ReadFile(fileabspath)
128 if err != nil { 128 if err != nil {
129 return nil, err 129 return nil, err
...@@ -143,7 +143,7 @@ func getTplDeep(file string, t *template.Template) (*template.Template, error) { ...@@ -143,7 +143,7 @@ func getTplDeep(file string, t *template.Template) (*template.Template, error) {
143 if !HasTemplateEXt(m[1]) { 143 if !HasTemplateEXt(m[1]) {
144 continue 144 continue
145 } 145 }
146 t, err = getTplDeep(m[1], t) 146 t, err = getTplDeep(root, m[1], t)
147 if err != nil { 147 if err != nil {
148 return nil, err 148 return nil, err
149 } 149 }
...@@ -152,9 +152,9 @@ func getTplDeep(file string, t *template.Template) (*template.Template, error) { ...@@ -152,9 +152,9 @@ func getTplDeep(file string, t *template.Template) (*template.Template, error) {
152 return t, nil 152 return t, nil
153 } 153 }
154 154
155 func getTemplate(file string) (t *template.Template, err error) { 155 func getTemplate(root, file string) (t *template.Template, err error) {
156 t = template.New(file).Delims(TemplateLeft, TemplateRight).Funcs(beegoTplFuncMap) 156 t = template.New(file).Delims(TemplateLeft, TemplateRight).Funcs(beegoTplFuncMap)
157 t, err = getTplDeep(file, t) 157 t, err = getTplDeep(root, file, t)
158 if err != nil { 158 if err != nil {
159 return nil, err 159 return nil, err
160 } 160 }
......
...@@ -18,32 +18,28 @@ func TestBuildTemplate(t *testing.T) { ...@@ -18,32 +18,28 @@ func TestBuildTemplate(t *testing.T) {
18 t.Fatal(err) 18 t.Fatal(err)
19 } 19 }
20 for _, name := range files { 20 for _, name := range files {
21 if _, err := os.Create(filepath.Join(dir, name)); err != nil { 21 if f, err := os.Create(filepath.Join(dir, name)); err != nil {
22 t.Fatal(err) 22 t.Fatal(err)
23 } else {
24 f.Close()
23 } 25 }
24 } 26 }
25 if err := BuildTemplate(dir); err != nil { 27 if err := BuildTemplate(dir); err != nil {
26 t.Fatal(err) 28 t.Fatal(err)
27 } 29 }
28 if len(BeeTemplates) != 1 { 30 if len(BeeTemplates) != 2 {
29 t.Fatalf("should be 1 but got %v", len(BeeTemplates)) 31 t.Fatalf("should be 2 but got %v", len(BeeTemplates))
30 }
31 for _, v := range BeeTemplates {
32 if len(v.Templates()) != 3 {
33 t.Errorf("should be 3 but got %v", len(v.Templates()))
34 }
35 } 32 }
36 33
37 AddTemplateExt("mystyle") 34 AddTemplateExt("mystyle")
38 if err := BuildTemplate(dir); err != nil { 35 if err := BuildTemplate(dir); err != nil {
39 t.Fatal(err) 36 t.Fatal(err)
40 } 37 }
41 if len(BeeTemplates) != 1 { 38 if len(BeeTemplates) != 3 {
42 t.Fatalf("should be 1 but got %v", len(BeeTemplates)) 39 t.Fatalf("should be 3 but got %v", len(BeeTemplates))
43 } 40 }
44 for _, v := range BeeTemplates { 41 for _, name := range files {
45 if len(v.Templates()) != 4 { 42 os.Remove(filepath.Join(dir, name))
46 t.Errorf("should be 4 but got %v", len(v.Templates()))
47 }
48 } 43 }
44 os.Remove(dir)
49 } 45 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!