@@ -25,6 +25,7 @@ func TestLayoutBase(t *testing.T) {
2525
2626 var (
2727 workingDir = "/sites/mysite/"
28+ themeDir = "/themes/mytheme/"
2829 layoutBase1 = "layouts"
2930 layoutPath1 = "_default/single.html"
3031 layoutPathAmp = "_default/single.amp.html"
@@ -38,84 +39,84 @@ func TestLayoutBase(t *testing.T) {
3839 basePathMatchStrings string
3940 expect TemplateNames
4041 }{
41- {"No base" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 }, false , "" ,
42+ {"No base" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 }, false , "" ,
4243 TemplateNames {
4344 Name : "_default/single.html" ,
4445 OverlayFilename : "/sites/mysite/layouts/_default/single.html" ,
4546 }},
46- {"Base" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 }, true , "" ,
47+ {"Base" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 }, true , "" ,
4748 TemplateNames {
4849 Name : "_default/single.html" ,
4950 OverlayFilename : "/sites/mysite/layouts/_default/single.html" ,
5051 MasterFilename : "/sites/mysite/layouts/_default/single-baseof.html" ,
5152 }},
52- {"Base in theme" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 , Theme : "mytheme" }, true ,
53+ {"Base in theme" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 , ThemeDir : themeDir }, true ,
5354 "mytheme/layouts/_default/baseof.html" ,
5455 TemplateNames {
5556 Name : "_default/single.html" ,
5657 OverlayFilename : "/sites/mysite/layouts/_default/single.html" ,
57- MasterFilename : "/sites/mysite /mytheme/layouts/_default/baseof.html" ,
58+ MasterFilename : "/themes /mytheme/layouts/_default/baseof.html" ,
5859 }},
59- {"Template in theme, base in theme" , TemplateLookupDescriptor {WorkingDir : filepath . Join ( workingDir , "mytheme" ), LayoutDir : layoutBase1 , RelPath : layoutPath1 , Theme : "mytheme" }, true ,
60+ {"Template in theme, base in theme" , TemplateLookupDescriptor {TemplateDir : themeDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 , ThemeDir : themeDir }, true ,
6061 "mytheme/layouts/_default/baseof.html" ,
6162 TemplateNames {
6263 Name : "_default/single.html" ,
63- OverlayFilename : "/sites/mysite /mytheme/layouts/_default/single.html" ,
64- MasterFilename : "/sites/mysite /mytheme/layouts/_default/baseof.html" ,
64+ OverlayFilename : "/themes /mytheme/layouts/_default/single.html" ,
65+ MasterFilename : "/themes /mytheme/layouts/_default/baseof.html" ,
6566 }},
66- {"Template in theme, base in site" , TemplateLookupDescriptor {WorkingDir : filepath . Join ( workingDir , "mytheme" ), LayoutDir : layoutBase1 , RelPath : layoutPath1 , Theme : "mytheme" }, true ,
67- "mytheme /layouts/_default/baseof.html" ,
67+ {"Template in theme, base in site" , TemplateLookupDescriptor {TemplateDir : themeDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 , ThemeDir : themeDir }, true ,
68+ "/sites/mysite /layouts/_default/baseof.html" ,
6869 TemplateNames {
6970 Name : "_default/single.html" ,
70- OverlayFilename : "/sites/mysite /mytheme/layouts/_default/single.html" ,
71- MasterFilename : "/sites/mysite/mytheme/ layouts/_default/baseof.html" ,
71+ OverlayFilename : "/themes /mytheme/layouts/_default/single.html" ,
72+ MasterFilename : "/sites/mysite/layouts/_default/baseof.html" ,
7273 }},
73- {"Template in site, base in theme" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 , Theme : "mytheme" }, true ,
74- "/sites/mysite/ mytheme/layouts/_default/baseof.html " ,
74+ {"Template in site, base in theme" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 , ThemeDir : themeDir }, true ,
75+ "/themes/ mytheme" ,
7576 TemplateNames {
7677 Name : "_default/single.html" ,
7778 OverlayFilename : "/sites/mysite/layouts/_default/single.html" ,
78- MasterFilename : "/sites/mysite/ mytheme/layouts/_default/baseof.html" ,
79+ MasterFilename : "/themes/ mytheme/layouts/_default/single- baseof.html" ,
7980 }},
80- {"With prefix, base in theme" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 ,
81- Theme : "mytheme" , Prefix : "someprefix" }, true ,
81+ {"With prefix, base in theme" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPath1 ,
82+ ThemeDir : themeDir , Prefix : "someprefix" }, true ,
8283 "mytheme/layouts/_default/baseof.html" ,
8384 TemplateNames {
8485 Name : "someprefix/_default/single.html" ,
8586 OverlayFilename : "/sites/mysite/layouts/_default/single.html" ,
86- MasterFilename : "/sites/mysite /mytheme/layouts/_default/baseof.html" ,
87+ MasterFilename : "/themes /mytheme/layouts/_default/baseof.html" ,
8788 }},
88- {"Partial" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : "partials/menu.html" }, true ,
89+ {"Partial" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : "partials/menu.html" }, true ,
8990 "mytheme/layouts/_default/baseof.html" ,
9091 TemplateNames {
9192 Name : "partials/menu.html" ,
9293 OverlayFilename : "/sites/mysite/layouts/partials/menu.html" ,
9394 }},
94- {"AMP, no base" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathAmp }, false , "" ,
95+ {"AMP, no base" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathAmp }, false , "" ,
9596 TemplateNames {
9697 Name : "_default/single.amp.html" ,
9798 OverlayFilename : "/sites/mysite/layouts/_default/single.amp.html" ,
9899 }},
99- {"JSON, no base" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathJSON }, false , "" ,
100+ {"JSON, no base" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathJSON }, false , "" ,
100101 TemplateNames {
101102 Name : "_default/single.json" ,
102103 OverlayFilename : "/sites/mysite/layouts/_default/single.json" ,
103104 }},
104- {"AMP with base" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathAmp }, true , "single-baseof.html|single-baseof.amp.html" ,
105+ {"AMP with base" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathAmp }, true , "single-baseof.html|single-baseof.amp.html" ,
105106 TemplateNames {
106107 Name : "_default/single.amp.html" ,
107108 OverlayFilename : "/sites/mysite/layouts/_default/single.amp.html" ,
108109 MasterFilename : "/sites/mysite/layouts/_default/single-baseof.amp.html" ,
109110 }},
110- {"AMP with no match in base" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathAmp }, true , "single-baseof.html" ,
111+ {"AMP with no match in base" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathAmp }, true , "single-baseof.html" ,
111112 TemplateNames {
112113 Name : "_default/single.amp.html" ,
113114 OverlayFilename : "/sites/mysite/layouts/_default/single.amp.html" ,
114115 // There is a single-baseof.html, but that makes no sense.
115116 MasterFilename : "" ,
116117 }},
117118
118- {"JSON with base" , TemplateLookupDescriptor {WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathJSON }, true , "single-baseof.json" ,
119+ {"JSON with base" , TemplateLookupDescriptor {TemplateDir : workingDir , WorkingDir : workingDir , LayoutDir : layoutBase1 , RelPath : layoutPathJSON }, true , "single-baseof.json" ,
119120 TemplateNames {
120121 Name : "_default/single.json" ,
121122 OverlayFilename : "/sites/mysite/layouts/_default/single.json" ,
0 commit comments