1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.archetype.old.descriptor;
20
21 import java.io.IOException;
22 import java.io.StringReader;
23
24 import junit.framework.Test;
25 import junit.framework.TestCase;
26 import junit.framework.TestSuite;
27 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
28
29
30
31
32
33 public class ArchetypeDescriptorBuilderTest extends TestCase {
34 public ArchetypeDescriptorBuilderTest(String str) {
35 super(str);
36 }
37
38 public static Test suite() {
39 TestSuite suite = new TestSuite();
40 suite.addTest(new ArchetypeDescriptorBuilderTest("testBuilder"));
41 suite.addTest(new ArchetypeDescriptorBuilderTest("testBuild"));
42 return suite;
43 }
44
45 public void testBuilder() throws Exception {
46 String xml = "<archetype>" + " <id>standard</id>" + " <sources>" + " <source>source0</source>"
47 + " <source>source1</source>"
48 + " </sources>" + " <resources>" + " <resource>resource0</resource>"
49 + " <resource>resource1</resource>"
50 + " </resources>" + " <testSources>" + " <source>testSource0</source>"
51 + " <source>testSource1</source>" + " </testSources>" + " <testResources>"
52 + " <resource>testResource0</resource>" + " <resource>testResource1</resource>"
53 + " </testResources>"
54 + "</archetype>";
55
56 ArchetypeDescriptorBuilder builder = new ArchetypeDescriptorBuilder();
57
58 ArchetypeDescriptor descriptor = builder.build(new StringReader(xml));
59
60 assertEquals("standard", descriptor.getId());
61
62 assertEquals(2, descriptor.getSources().size());
63
64 assertEquals("source0", descriptor.getSources().get(0));
65
66 assertNotNull(descriptor.getSourceDescriptor("source0"));
67
68 assertEquals(true, descriptor.getSourceDescriptor("source0").isFiltered());
69
70 assertNotNull(descriptor.getSourceDescriptor("source0").getEncoding());
71
72 assertEquals("source1", descriptor.getSources().get(1));
73
74 assertNotNull(descriptor.getSourceDescriptor("source1"));
75
76 assertEquals(true, descriptor.getSourceDescriptor("source1").isFiltered());
77
78 assertNotNull(descriptor.getSourceDescriptor("source1").getEncoding());
79
80 assertEquals(2, descriptor.getResources().size());
81
82 assertEquals("resource0", descriptor.getResources().get(0));
83
84 assertNotNull(descriptor.getResourceDescriptor("resource0"));
85
86 assertEquals(true, descriptor.getResourceDescriptor("resource0").isFiltered());
87
88 assertNotNull(descriptor.getResourceDescriptor("resource0").getEncoding());
89
90 assertEquals("resource1", descriptor.getResources().get(1));
91
92 assertNotNull(descriptor.getResourceDescriptor("resource1"));
93
94 assertEquals(true, descriptor.getResourceDescriptor("resource1").isFiltered());
95
96 assertNotNull(descriptor.getResourceDescriptor("resource1").getEncoding());
97
98 assertEquals(2, descriptor.getTestSources().size());
99
100 assertEquals("testSource0", descriptor.getTestSources().get(0));
101
102 assertNotNull(descriptor.getTestSourceDescriptor("testSource0"));
103
104 assertEquals(true, descriptor.getTestSourceDescriptor("testSource0").isFiltered());
105
106 assertNotNull(descriptor.getTestSourceDescriptor("testSource0").getEncoding());
107
108 assertEquals("testSource1", descriptor.getTestSources().get(1));
109
110 assertNotNull(descriptor.getTestSourceDescriptor("testSource1"));
111
112 assertEquals(true, descriptor.getTestSourceDescriptor("testSource1").isFiltered());
113
114 assertNotNull(descriptor.getTestSourceDescriptor("testSource1").getEncoding());
115
116 assertEquals(2, descriptor.getTestResources().size());
117
118 assertEquals("testResource0", descriptor.getTestResources().get(0));
119
120 assertNotNull(descriptor.getTestResourceDescriptor("testResource0"));
121
122 assertEquals(true, descriptor.getTestResourceDescriptor("testResource0").isFiltered());
123
124 assertNotNull(descriptor.getTestResourceDescriptor("testResource0").getEncoding());
125
126 assertEquals("testResource1", descriptor.getTestResources().get(1));
127
128 assertNotNull(descriptor.getTestResourceDescriptor("testResource1"));
129
130 assertEquals(true, descriptor.getTestResourceDescriptor("testResource1").isFiltered());
131
132 assertNotNull(descriptor.getTestResourceDescriptor("testResource1").getEncoding());
133 }
134
135 public void testBuild() throws IOException, XmlPullParserException {
136 String xml = "<archetype>" + " <id>standard</id>" + " <sources>"
137 + " <source encoding=\"utf-8\">source0</source>"
138 + " <source encoding=\"utf-8\">source1</source>" + " </sources>"
139 + " <resources>" + " <resource filtered=\"false\">resource0</resource>"
140 + " <resource encoding=\"iso-8859-1\">resource1</resource>"
141 + " </resources>" + " <testSources>" + " <source encoding=\"utf-8\">testSource0</source>"
142 + " <source encoding=\"utf-8\">testSource1</source>"
143 + " </testSources>" + " <testResources>"
144 + " <resource encoding=\"us-ascii\">testResource0</resource>"
145 + " <resource filtered=\"false\">testResource1</resource>"
146 + " </testResources>" + " <siteResources>"
147 + " <resource filtered=\"false\">siteResource0</resource>"
148 + " <resource encoding=\"utf-16\">siteResource1</resource>"
149 + " </siteResources>" + "</archetype>";
150
151 ArchetypeDescriptorBuilder builder = new ArchetypeDescriptorBuilder();
152
153 ArchetypeDescriptor descriptor = builder.build(new StringReader(xml));
154
155 assertEquals("standard", descriptor.getId());
156
157 assertEquals(2, descriptor.getSources().size());
158
159 assertEquals("source0", descriptor.getSources().get(0));
160
161 assertNotNull(descriptor.getSourceDescriptor("source0"));
162
163 assertEquals(true, descriptor.getSourceDescriptor("source0").isFiltered());
164
165 assertEquals("utf-8", descriptor.getSourceDescriptor("source0").getEncoding());
166
167 assertEquals("source1", descriptor.getSources().get(1));
168
169 assertNotNull(descriptor.getSourceDescriptor("source1"));
170
171 assertEquals(true, descriptor.getSourceDescriptor("source1").isFiltered());
172
173 assertEquals("utf-8", descriptor.getSourceDescriptor("source1").getEncoding());
174
175 assertEquals(2, descriptor.getResources().size());
176
177 assertEquals("resource0", descriptor.getResources().get(0));
178
179 assertNotNull(descriptor.getResourceDescriptor("resource0"));
180
181 assertEquals(false, descriptor.getResourceDescriptor("resource0").isFiltered());
182
183 assertNotNull(descriptor.getResourceDescriptor("resource0").getEncoding());
184
185 assertEquals("resource1", descriptor.getResources().get(1));
186
187 assertNotNull(descriptor.getResourceDescriptor("resource1"));
188
189 assertEquals(true, descriptor.getResourceDescriptor("resource1").isFiltered());
190
191 assertEquals("iso-8859-1", descriptor.getResourceDescriptor("resource1").getEncoding());
192
193 assertEquals(2, descriptor.getTestSources().size());
194
195 assertEquals("testSource0", descriptor.getTestSources().get(0));
196
197 assertNotNull(descriptor.getTestSourceDescriptor("testSource0"));
198
199 assertEquals(true, descriptor.getTestSourceDescriptor("testSource0").isFiltered());
200
201 assertEquals("utf-8", descriptor.getTestSourceDescriptor("testSource0").getEncoding());
202
203 assertEquals("testSource1", descriptor.getTestSources().get(1));
204
205 assertNotNull(descriptor.getTestSourceDescriptor("testSource1"));
206
207 assertEquals(true, descriptor.getTestSourceDescriptor("testSource1").isFiltered());
208
209 assertEquals("utf-8", descriptor.getTestSourceDescriptor("testSource1").getEncoding());
210
211 assertEquals(2, descriptor.getTestResources().size());
212
213 assertEquals("testResource0", descriptor.getTestResources().get(0));
214
215 assertNotNull(descriptor.getTestResourceDescriptor("testResource0"));
216
217 assertEquals(true, descriptor.getTestResourceDescriptor("testResource0").isFiltered());
218
219 assertEquals(
220 "us-ascii",
221 descriptor.getTestResourceDescriptor("testResource0").getEncoding());
222
223 assertEquals("testResource1", descriptor.getTestResources().get(1));
224
225 assertNotNull(descriptor.getTestResourceDescriptor("testResource1"));
226
227 assertEquals(
228 false, descriptor.getTestResourceDescriptor("testResource1").isFiltered());
229
230 assertNotNull(descriptor.getTestResourceDescriptor("testResource1").getEncoding());
231
232 assertEquals(2, descriptor.getSiteResources().size());
233
234 assertEquals("siteResource0", descriptor.getSiteResources().get(0));
235
236 assertNotNull(descriptor.getSiteResourceDescriptor("siteResource0"));
237
238 assertEquals(
239 false, descriptor.getSiteResourceDescriptor("siteResource0").isFiltered());
240
241 assertNotNull(descriptor.getSiteResourceDescriptor("siteResource0").getEncoding());
242
243 assertEquals("siteResource1", descriptor.getSiteResources().get(1));
244
245 assertNotNull(descriptor.getSiteResourceDescriptor("siteResource1"));
246
247 assertEquals(true, descriptor.getSiteResourceDescriptor("siteResource1").isFiltered());
248
249 assertEquals(
250 "utf-16", descriptor.getSiteResourceDescriptor("siteResource1").getEncoding());
251 }
252 }