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