1 package org.apache.maven.project;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.hamcrest.Matchers.empty;
23 import static org.hamcrest.Matchers.is;
24 import static org.junit.Assert.assertThat;
25
26 import java.io.ByteArrayInputStream;
27 import java.io.InputStream;
28 import java.io.UnsupportedEncodingException;
29 import java.util.Arrays;
30
31 import junit.framework.TestCase;
32
33
34
35
36
37
38 public class ExtensionDescriptorBuilderTest
39 extends TestCase
40 {
41
42 private ExtensionDescriptorBuilder builder;
43
44 @Override
45 protected void setUp()
46 throws Exception
47 {
48 super.setUp();
49
50 builder = new ExtensionDescriptorBuilder();
51 }
52
53 @Override
54 protected void tearDown()
55 throws Exception
56 {
57 builder = null;
58
59 super.tearDown();
60 }
61
62 private InputStream toStream( String xml )
63 {
64 try
65 {
66 return new ByteArrayInputStream( xml.getBytes( "UTF-8" ) );
67 }
68 catch ( UnsupportedEncodingException e )
69 {
70 throw new IllegalStateException( e );
71 }
72 }
73
74 public void testEmptyDescriptor()
75 throws Exception
76 {
77 String xml = "<extension></extension>";
78
79 ExtensionDescriptor ed = builder.build( toStream( xml ) );
80
81 assertNotNull( ed );
82 assertNotNull( ed.getExportedPackages() );
83 assertThat( ed.getExportedPackages(), is( empty() ) );
84 assertNotNull( ed.getExportedArtifacts() );
85 assertThat( ed.getExportedArtifacts(), is( empty() ) );
86 }
87
88 public void testCompleteDescriptor()
89 throws Exception
90 {
91 String xml =
92 "<?xml version='1.0' encoding='UTF-8'?>" + "<extension>" + "<exportedPackages>"
93 + "<exportedPackage>a</exportedPackage>" + "<exportedPackage>b</exportedPackage>"
94 + "<exportedPackage>c</exportedPackage>" + "</exportedPackages>" + "<exportedArtifacts>"
95 + "<exportedArtifact>x</exportedArtifact>" + "<exportedArtifact>y</exportedArtifact>"
96 + "<exportedArtifact> z </exportedArtifact>" + "</exportedArtifacts>" + "</extension>";
97
98 ExtensionDescriptor ed = builder.build( toStream( xml ) );
99
100 assertNotNull( ed );
101 assertEquals( Arrays.asList( "a", "b", "c" ), ed.getExportedPackages() );
102 assertEquals( Arrays.asList( "x", "y", "z" ), ed.getExportedArtifacts() );
103 }
104
105 }