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 import junit.framework.Test;
23 import junit.framework.TestSuite;
24
25 import org.apache.turbine.services.TurbineServices;
26 import org.apache.turbine.test.BaseTurbineTest;
27
28 /***
29 * Tests all the various template mappings for Screen and Layout
30 * templates of the template service.
31 *
32 * @author <a href="hps@intermeta.de">Henning P. Schmiedehausen</a>
33 * @version $Id: TemplateTest.java 534527 2007-05-02 16:10:59Z tv $
34 */
35
36 public class TemplateTest
37 extends BaseTurbineTest
38 {
39 private static TemplateService ts = null;
40
41 public TemplateTest(String name)
42 throws Exception
43 {
44 super(name, "/conf/test/TemplateService.properties");
45
46 ts = (TemplateService) TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
47 }
48
49 public static Test suite()
50 {
51 return new TestSuite(TemplateTest.class);
52 }
53
54 public void testTemplateDefaults()
55 {
56 assertEquals("Default LayoutTemplate failed", TemplateService.DEFAULT_TEMPLATE_VALUE, ts.getDefaultLayoutTemplate());
57 }
58
59 public void testVelocityDefaults()
60 {
61 assertEquals("Default LayoutTemplate failed", "Default.vm", ts.getDefaultLayoutTemplateName("foo.vm"));
62 }
63
64 public void testNonExistingTemplate()
65 throws Exception
66 {
67
68
69
70
71 String templateName = "DoesNotExistPage.vm";
72 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
73 assertEquals("ScreenTemplate translation failed", null, ts.getScreenTemplateName(templateName));
74 }
75
76 public void testNonExistingSublevelTemplate()
77 throws Exception
78 {
79
80
81
82
83 String templateName = "this,template,DoesNotExistPage.vm";
84 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
85 assertEquals("ScreenTemplate translation failed", null, ts.getScreenTemplateName(templateName));
86 }
87
88 public void testExistingTemplate()
89 throws Exception
90 {
91
92
93
94
95 String templateName = "ExistPage.vm";
96 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
97 assertEquals("ScreenTemplate translation failed", "ExistPage.vm", ts.getScreenTemplateName(templateName));
98 }
99
100 public void testExistingSublevelTemplate()
101 throws Exception
102 {
103
104
105
106
107
108 String templateName = "existing,Page.vm";
109 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
110 assertEquals("ScreenTemplate translation failed", "existing/Page.vm", ts.getScreenTemplateName(templateName));
111 }
112
113 public void testExistingLayoutTemplate()
114 throws Exception
115 {
116
117
118
119
120 String templateName = "ExistPageWithLayout.vm";
121 assertEquals("LayoutTemplate translation failed", "ExistPageWithLayout.vm", ts.getLayoutTemplateName(templateName));
122 assertEquals("ScreenTemplate translation failed", "ExistPageWithLayout.vm", ts.getScreenTemplateName(templateName));
123 }
124
125 public void testExistingSublevelLayoutTemplate()
126 throws Exception
127 {
128
129
130
131
132 String templateName = "existing,ExistSublevelPageWithLayout.vm";
133 assertEquals("LayoutTemplate translation failed", "existing/ExistSublevelPageWithLayout.vm", ts.getLayoutTemplateName(templateName));
134 assertEquals("ScreenTemplate translation failed", "existing/ExistSublevelPageWithLayout.vm", ts.getScreenTemplateName(templateName));
135 }
136
137 public void testExistingDefaultLayoutTemplate()
138 throws Exception
139 {
140
141
142
143
144 String templateName = "existing,ExistPageWithLayout.vm";
145 assertEquals("LayoutTemplate translation failed", "Default.vm", ts.getLayoutTemplateName(templateName));
146 assertEquals("ScreenTemplate translation failed", "existing/ExistPageWithLayout.vm", ts.getScreenTemplateName(templateName));
147 }
148 }
149