KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > test > common > JarTestCase


1 /*****************************************
2  * *
3  * JBoss Portal: The OpenSource Portal *
4  * *
5  * Distributable under LGPL license. *
6  * See terms of license at gnu.org. *
7  * *
8  *****************************************/

9 package org.jboss.portal.test.common;
10
11 import junit.framework.TestCase;
12
13 import java.util.List JavaDoc;
14 import java.util.ArrayList JavaDoc;
15 import java.util.Iterator JavaDoc;
16 import java.util.Arrays JavaDoc;
17 import java.util.jar.JarOutputStream JavaDoc;
18 import java.util.jar.JarEntry JavaDoc;
19 import java.util.jar.JarInputStream JavaDoc;
20 import java.io.ByteArrayOutputStream JavaDoc;
21 import java.io.IOException JavaDoc;
22 import java.io.ByteArrayInputStream JavaDoc;
23 import java.io.File JavaDoc;
24 import java.io.FileOutputStream JavaDoc;
25 import java.io.FileInputStream JavaDoc;
26 import java.io.InputStream JavaDoc;
27 import java.net.URL JavaDoc;
28 import java.net.URLConnection JavaDoc;
29
30 import org.jboss.portal.common.util.Jar;
31 import org.jboss.portal.common.junit.ExtendedAssert;
32
33 /**
34  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
35  * @version $Revision: 1.1 $
36  */

37 public class JarTestCase extends TestCase
38 {
39
40    public JarTestCase(String JavaDoc name)
41    {
42       super(name);
43    }
44
45    public void testJarEntryInfo()
46    {
47       Jar.EntryInfo info1 = new Jar.EntryInfo(new JarEntry JavaDoc("a"));
48       assertEquals(Arrays.asList(new String JavaDoc[]{"a"}), info1.getAtoms());
49
50       Jar.EntryInfo info2 = new Jar.EntryInfo(new JarEntry JavaDoc("a/"));
51       assertEquals(Arrays.asList(new String JavaDoc[]{"a"}), info2.getAtoms());
52
53       Jar.EntryInfo info3 = new Jar.EntryInfo(new JarEntry JavaDoc("/"));
54       assertEquals(Arrays.asList(new String JavaDoc[]{}), info3.getAtoms());
55
56       Jar.EntryInfo info4 = new Jar.EntryInfo(new JarEntry JavaDoc("a/b"));
57       assertEquals(Arrays.asList(new String JavaDoc[]{"a","b"}), info4.getAtoms());
58
59       Jar.EntryInfo info5 = new Jar.EntryInfo(new JarEntry JavaDoc("a/b/"));
60       assertEquals(Arrays.asList(new String JavaDoc[]{"a","b"}), info5.getAtoms());
61
62       Jar.EntryInfo info6 = new Jar.EntryInfo(new JarEntry JavaDoc("/a"));
63       assertEquals(Arrays.asList(new String JavaDoc[]{"a"}), info6.getAtoms());
64
65       Jar.EntryInfo info7 = new Jar.EntryInfo(new JarEntry JavaDoc("/a/"));
66       assertEquals(Arrays.asList(new String JavaDoc[]{"a"}), info7.getAtoms());
67
68       Jar.EntryInfo info8 = new Jar.EntryInfo(new JarEntry JavaDoc("/a/b"));
69       assertEquals(Arrays.asList(new String JavaDoc[]{"a","b"}), info8.getAtoms());
70
71       Jar.EntryInfo info9 = new Jar.EntryInfo(new JarEntry JavaDoc("/a/b/"));
72       assertEquals(Arrays.asList(new String JavaDoc[]{"a","b"}), info9.getAtoms());
73    }
74
75    public void testEntryComparator() throws IOException JavaDoc
76    {
77       File JavaDoc jarFile = File.createTempFile("test", ".jar");
78
79       FileOutputStream JavaDoc out = new FileOutputStream JavaDoc(jarFile);
80       JarOutputStream JavaDoc jarOut = new JarOutputStream JavaDoc(out);
81       jarOut.putNextEntry(new JarEntry JavaDoc("a/c"));
82       jarOut.closeEntry();
83       jarOut.putNextEntry(new JarEntry JavaDoc("c/d"));
84       jarOut.closeEntry();
85       jarOut.putNextEntry(new JarEntry JavaDoc("a"));
86       jarOut.closeEntry();
87       jarOut.putNextEntry(new JarEntry JavaDoc("b"));
88       jarOut.closeEntry();
89       jarOut.putNextEntry(new JarEntry JavaDoc("a/b"));
90       jarOut.closeEntry();
91       jarOut.close();
92
93       jarFile.deleteOnExit();
94
95       JarInputStream JavaDoc jarIn = new JarInputStream JavaDoc(new FileInputStream JavaDoc(jarFile));
96       Iterator JavaDoc i = Jar.iterator(jarIn);
97       while (i.hasNext())
98       {
99          Object JavaDoc o = i.next();
100          System.out.println("o = " + o);
101       }
102       jarIn.close();
103    }
104
105    public void testIsChildOf()
106    {
107       assertFalse(new Jar.EntryInfo(new JarEntry JavaDoc("a")).isChildOf(new Jar.EntryInfo(new JarEntry JavaDoc(""))));
108       assertFalse(new Jar.EntryInfo(new JarEntry JavaDoc("/a")).isChildOf(new Jar.EntryInfo(new JarEntry JavaDoc(""))));
109       assertTrue(new Jar.EntryInfo(new JarEntry JavaDoc("a")).isChildOf(new Jar.EntryInfo(new JarEntry JavaDoc("/"))));
110       assertTrue(new Jar.EntryInfo(new JarEntry JavaDoc("/a")).isChildOf(new Jar.EntryInfo(new JarEntry JavaDoc("/"))));
111       assertFalse(new Jar.EntryInfo(new JarEntry JavaDoc("a/b")).isChildOf(new Jar.EntryInfo(new JarEntry JavaDoc("a"))));
112       assertFalse(new Jar.EntryInfo(new JarEntry JavaDoc("/a/b")).isChildOf(new Jar.EntryInfo(new JarEntry JavaDoc("a"))));
113       assertTrue(new Jar.EntryInfo(new JarEntry JavaDoc("a/b")).isChildOf(new Jar.EntryInfo(new JarEntry JavaDoc("a/"))));
114       assertTrue(new Jar.EntryInfo(new JarEntry JavaDoc("/a/b")).isChildOf(new Jar.EntryInfo(new JarEntry JavaDoc("a/"))));
115    }
116
117 }
118
Popular Tags