package org.codehaus.mojo.deb.jdpkg.ar; import junit.framework.TestCase; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; /** * @author <a href="mailto:trygve.laugstol@arktekk.no">Trygve Laugstøl</a> * @version $Id$ */ public class ArWriterTest extends TestCase { private static File yo = new File("yo.deb"); private static File yo2 = new File("yo2.deb"); private static File hello = new File("hello.txt"); public static void writeFiles() throws Exception { if (yo.exists()) assertTrue(yo.delete()); if (yo2.exists()) assertTrue(yo2.delete()); if (hello.exists()) assertTrue(hello.delete()); Writer writer = new OutputStreamWriter(new FileOutputStream(hello), "UTF-16"); writer.write("Hello World!"); writer.close(); } public ArWriterTest() throws Exception { writeFiles(); } public void test1() throws Exception { ArWriter writer = new ArWriter(yo); writer.close(); assertTrue(yo.canRead()); assertEquals(8, yo.length()); } public void test2() throws Exception { ArWriter writer = new ArWriter(yo); writer.close(); ArFile yoFile = new ArFile(); yoFile.file = yo; yoFile.name = yo.getName(); ArFile helloFile = new ArFile(); helloFile.file = hello; helloFile.name = hello.getName(); writer = new ArWriter(yo2); writer.add(yoFile); writer.add(helloFile); writer.close(); assertTrue(yo2.canRead()); int expectedSize = 8 + // ar magic 60 + 8 + // entry header + data 60 + 26; assertEquals(expectedSize, yo2.length()); } }