1 package org.apache.turbine.services.template;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import org.apache.turbine.services.TurbineServices;
25 import org.apache.turbine.test.BaseTestCase;
26 import org.apache.turbine.util.TurbineConfig;
27
28
29
30
31
32
33
34
35
36 public class TemplateTest
37 extends BaseTestCase
38 {
39 private static TurbineConfig tc = null;
40 private static TemplateService ts = null;
41
42 public TemplateTest(String name)
43 throws Exception
44 {
45 super(name);
46 tc = new TurbineConfig(".", "/conf/test/TemplateService.properties");
47 tc.initialize();
48
49 ts = (TemplateService) TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
50 }
51
52
53 public void testTemplateDefaults()
54 {
55 assertEquals("Default LayoutTemplate failed", TemplateService.DEFAULT_TEMPLATE_VALUE, ts.getDefaultLayoutTemplate());
56 }
57
58 public void testVelocityDefaults()
59 {
60 assertEquals("Default LayoutTemplate failed", "Default.vm", ts.getDefaultLayoutTemplateName("foo.vm"));
61 }
62
63 public void testNonExistingTemplate()
64 throws Exception
65 {
66
67
68
69
70 String templateName = "DoesNotExistPage.vm";
71 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
72 assertEquals("ScreenTemplate translation failed", null, ts.getScreenTemplateName(templateName));
73 }
74
75 public void testNonExistingSublevelTemplate()
76 throws Exception
77 {
78
79
80
81
82 String templateName = "this,template,DoesNotExistPage.vm";
83 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
84 assertEquals("ScreenTemplate translation failed", null, ts.getScreenTemplateName(templateName));
85 }
86
87 public void testExistingTemplate()
88 throws Exception
89 {
90
91
92
93
94 String templateName = "ExistPage.vm";
95 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
96 assertEquals("ScreenTemplate translation failed", "ExistPage.vm", ts.getScreenTemplateName(templateName));
97 }
98
99 public void testExistingSublevelTemplate()
100 throws Exception
101 {
102
103
104
105
106
107 String templateName = "existing,Page.vm";
108 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
109 assertEquals("ScreenTemplate translation failed", "existing/Page.vm", ts.getScreenTemplateName(templateName));
110 }
111
112 public void testExistingLayoutTemplate()
113 throws Exception
114 {
115
116
117
118
119 String templateName = "ExistPageWithLayout.vm";
120 assertEquals("LayoutTemplate translation failed", "ExistPageWithLayout.vm", ts.getLayoutTemplateName(templateName));
121 assertEquals("ScreenTemplate translation failed", "ExistPageWithLayout.vm", ts.getScreenTemplateName(templateName));
122 }
123
124 public void testExistingSublevelLayoutTemplate()
125 throws Exception
126 {
127
128
129
130
131 String templateName = "existing,ExistSublevelPageWithLayout.vm";
132 assertEquals("LayoutTemplate translation failed", "existing/ExistSublevelPageWithLayout.vm", ts.getLayoutTemplateName(templateName));
133 assertEquals("ScreenTemplate translation failed", "existing/ExistSublevelPageWithLayout.vm", ts.getScreenTemplateName(templateName));
134 }
135
136 public void testExistingDefaultLayoutTemplate()
137 throws Exception
138 {
139
140
141
142
143 String templateName = "existing,ExistPageWithLayout.vm";
144 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
145 assertEquals("ScreenTemplate translation failed", "existing/ExistPageWithLayout.vm", ts.getScreenTemplateName(templateName));
146 }
147 }
148