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 java.io.ByteArrayInputStream;
23 import java.io.InputStream;
24 import java.io.UnsupportedEncodingException;
25 import java.util.Arrays;
26
27 import junit.framework.TestCase;
28
29
30
31
32
33
34 public class ExtensionDescriptorBuilderTest
35 extends TestCase
36 {
37
38 private ExtensionDescriptorBuilder builder;
39
40 @Override
41 protected void setUp()
42 throws Exception
43 {
44 super.setUp();
45
46 builder = new ExtensionDescriptorBuilder();
47 }
48
49 @Override
50 protected void tearDown()
51 throws Exception
52 {
53 builder = null;
54
55 super.tearDown();
56 }
57
58 private InputStream toStream( String xml )
59 {
60 try
61 {
62 return new ByteArrayInputStream( xml.getBytes( "UTF-8" ) );
63 }
64 catch ( UnsupportedEncodingException e )
65 {
66 throw new IllegalStateException( e );
67 }
68 }
69
70 public void testEmptyDescriptor()
71 throws Exception
72 {
73 String xml = "<extension></extension>";
74
75 ExtensionDescriptor ed = builder.build( toStream( xml ) );
76
77 assertNotNull( ed );
78 assertNotNull( ed.getExportedPackages() );
79 assertTrue( ed.getExportedPackages().isEmpty() );
80 assertNotNull( ed.getExportedArtifacts() );
81 assertTrue( ed.getExportedArtifacts().isEmpty() );
82 }
83
84 public void testCompleteDescriptor()
85 throws Exception
86 {
87 String xml =
88 "<?xml version='1.0' encoding='UTF-8'?>" + "<extension>" + "<exportedPackages>"
89 + "<exportedPackage>a</exportedPackage>" + "<exportedPackage>b</exportedPackage>"
90 + "<exportedPackage>c</exportedPackage>" + "</exportedPackages>" + "<exportedArtifacts>"
91 + "<exportedArtifact>x</exportedArtifact>" + "<exportedArtifact>y</exportedArtifact>"
92 + "<exportedArtifact> z </exportedArtifact>" + "</exportedArtifacts>" + "</extension>";
93
94 ExtensionDescriptor ed = builder.build( toStream( xml ) );
95
96 assertNotNull( ed );
97 assertEquals( Arrays.asList( "a", "b", "c" ), ed.getExportedPackages() );
98 assertEquals( Arrays.asList( "x", "y", "z" ), ed.getExportedArtifacts() );
99 }
100
101 }