package org.bndtools.utils.jar; import java.io.File; import java.util.jar.Manifest; import aQute.lib.io.IO; import junit.framework.TestCase; public class PseudoJarTest extends TestCase { public void testReadJarFile() throws Exception { PseudoJar pj = new PseudoJar(new File("testdata/hello.jar")); try { Manifest mf = pj.readManifest(); assertEquals("jellyfish", mf.getMainAttributes().getValue("Arbitrary-Header")); assertEquals("OSGI-INF/", pj.nextEntry()); assertEquals("OSGI-INF/goodbye.txt", pj.nextEntry()); assertEquals("Goodbye World", IO.collect(pj.openEntry())); assertEquals("OSGI-INF/hello.txt", pj.nextEntry()); assertEquals("Hello World", IO.collect(pj.openEntry())); } finally { pj.close(); } } public void testReadDir() throws Exception { PseudoJar pj = new PseudoJar(new File("testdata/hello_jar_dir")); try { Manifest mf = pj.readManifest(); assertEquals("jellyfish", mf.getMainAttributes().getValue("Arbitrary-Header")); assertEquals("META-INF/", pj.nextEntry()); assertEquals("META-INF/MANIFEST.MF", pj.nextEntry()); assertEquals("OSGI-INF/", pj.nextEntry()); assertEquals("OSGI-INF/goodbye.txt", pj.nextEntry()); assertEquals("Goodbye World", IO.collect(pj.openEntry())); assertEquals("OSGI-INF/hello.txt", pj.nextEntry()); assertEquals("Hello World", IO.collect(pj.openEntry())); } finally { pj.close(); } } }