1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.myfaces.config.impl.digister;
17
18 import java.util.List;
19
20 import junit.framework.TestCase;
21
22 import org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl;
23 import org.apache.myfaces.config.element.Application;
24 import org.apache.myfaces.config.element.FacesConfig;
25 import org.apache.myfaces.config.element.FacesConfigNameSlot;
26 import org.apache.myfaces.config.element.LocaleConfig;
27 import org.apache.myfaces.config.element.OrderSlot;
28
29
30
31
32
33 public class DigesterFacesConfigUnmarshallerImplTest extends TestCase
34 {
35 private DigesterFacesConfigUnmarshallerImpl _impl;
36
37 protected void setUp() throws Exception
38 {
39 _impl = new DigesterFacesConfigUnmarshallerImpl(null);
40 }
41
42 public void testEmptyConfig() throws Exception
43 {
44 FacesConfig cfg = _impl.getFacesConfig(getClass().getResourceAsStream(
45 "empty-config.xml"), "empty-config.xml");
46 assertNotNull(cfg);
47 assertTrue(cfg.getApplications().isEmpty());
48 assertTrue(cfg.getComponents().isEmpty());
49 assertTrue(cfg.getConverters().isEmpty());
50 assertTrue(cfg.getFactories().isEmpty());
51 assertTrue(cfg.getLifecyclePhaseListener().isEmpty());
52 assertTrue(cfg.getManagedBeans().isEmpty());
53 assertTrue(cfg.getNavigationRules().isEmpty());
54 assertTrue(cfg.getRenderKits().isEmpty());
55 assertTrue(cfg.getValidators().isEmpty());
56 }
57
58 public void testApplicationConfig() throws Exception
59 {
60 FacesConfig cfg = _impl.getFacesConfig(getClass().getResourceAsStream(
61 "application-config.xml"), "application-config.xml");
62 assertNotNull(cfg);
63 assertEquals(1, cfg.getApplications().size());
64 Application app = cfg.getApplications().get(0);
65 assertEquals(2, app.getActionListener().size());
66 assertEquals("action-listener1", app.getActionListener().get(0));
67 assertEquals("action-listener2", app.getActionListener().get(1));
68 assertEquals(1, app.getDefaultRenderkitId().size());
69 assertEquals("default-render-kit-id", app.getDefaultRenderkitId()
70 .get(0));
71 assertLocaleConfig(app.getLocaleConfig());
72 assertEquals(1, app.getMessageBundle().size());
73 assertEquals("message-bundle", app.getMessageBundle().get(0));
74 assertEquals(1, app.getNavigationHandler().size());
75 assertEquals("navigation-handler", app.getNavigationHandler().get(0));
76 assertEquals(1, app.getPropertyResolver().size());
77 assertEquals("property-resolver", app.getPropertyResolver().get(0));
78
79 assertEquals(1, app.getStateManager().size());
80 assertEquals("state-manager", app.getStateManager().get(0));
81
82 assertEquals(1, app.getVariableResolver().size());
83 assertEquals("variable-resolver", app.getVariableResolver().get(0));
84
85 assertEquals(1, app.getViewHandler().size());
86 assertEquals("view-handler", app.getViewHandler().get(0));
87
88 assertEquals(1, app.getElResolver().size());
89 assertEquals("el-resolver", app.getElResolver().get(0));
90
91 assertEquals(1, app.getResourceBundle().size());
92 assertEquals("base-name", app.getResourceBundle().get(0).getBaseName());
93 assertEquals("var", app.getResourceBundle().get(0).getVar());
94 }
95
96
97
98
99 private void assertLocaleConfig(List<LocaleConfig> localeConfig)
100 {
101 assertEquals(1, localeConfig.size());
102 LocaleConfig cfg = localeConfig.get(0);
103 assertEquals("aa", cfg.getDefaultLocale());
104 assertEquals(2, cfg.getSupportedLocales().size());
105 assertEquals("aa", cfg.getSupportedLocales().get(0));
106 assertEquals("bb", cfg.getSupportedLocales().get(1));
107 }
108
109 public void testAbsoluteOrderingConfig() throws Exception
110 {
111 FacesConfig cfg = _impl.getFacesConfig(getClass().getResourceAsStream(
112 "absolute-ordering-config.xml"), "absolute-ordering-config.xml");
113 assertNotNull(cfg);
114 assertEquals("true", cfg.getMetadataComplete());
115 assertEquals("a",cfg.getName());
116
117 List<OrderSlot> orderList = cfg.getAbsoluteOrdering().getOrderList();
118
119 assertEquals("b", ((FacesConfigNameSlot) orderList.get(0)).getName());
120 assertEquals("c", ((FacesConfigNameSlot) orderList.get(1)).getName());
121 assertEquals(org.apache.myfaces.config.impl.digester.elements.ConfigOthersSlot.class, orderList.get(2).getClass());
122 assertEquals("d", ((FacesConfigNameSlot) orderList.get(3)).getName());
123
124 assertTrue(cfg.getApplications().isEmpty());
125 assertTrue(cfg.getComponents().isEmpty());
126 assertTrue(cfg.getConverters().isEmpty());
127 assertTrue(cfg.getFactories().isEmpty());
128 assertTrue(cfg.getLifecyclePhaseListener().isEmpty());
129 assertTrue(cfg.getManagedBeans().isEmpty());
130 assertTrue(cfg.getNavigationRules().isEmpty());
131 assertTrue(cfg.getRenderKits().isEmpty());
132 assertTrue(cfg.getValidators().isEmpty());
133 }
134
135 public void testOrderingConfig() throws Exception
136 {
137 FacesConfig cfg = _impl.getFacesConfig(getClass().getResourceAsStream(
138 "ordering-config.xml"), "ordering-config.xml");
139 assertNotNull(cfg);
140 assertEquals("a",cfg.getName());
141
142 List<OrderSlot> orderList = cfg.getOrdering().getBeforeList();
143 assertEquals("b", ((FacesConfigNameSlot) orderList.get(0)).getName());
144 assertEquals("c", ((FacesConfigNameSlot) orderList.get(1)).getName());
145 assertEquals(org.apache.myfaces.config.impl.digester.elements.ConfigOthersSlot.class, orderList.get(2).getClass());
146
147 orderList = cfg.getOrdering().getAfterList();
148 assertEquals("d", ((FacesConfigNameSlot) orderList.get(0)).getName());
149
150 assertTrue(cfg.getApplications().isEmpty());
151 assertTrue(cfg.getComponents().isEmpty());
152 assertTrue(cfg.getConverters().isEmpty());
153 assertTrue(cfg.getFactories().isEmpty());
154 assertTrue(cfg.getLifecyclePhaseListener().isEmpty());
155 assertTrue(cfg.getManagedBeans().isEmpty());
156 assertTrue(cfg.getNavigationRules().isEmpty());
157 assertTrue(cfg.getRenderKits().isEmpty());
158 assertTrue(cfg.getValidators().isEmpty());
159 }
160 }