FileDocCategorySizeDatePackage
TarRoundTripTest.javaAPI DocApache Ant 1.702197Wed Dec 13 06:16:18 GMT 2006org.apache.tools.tar

TarRoundTripTest

public class TarRoundTripTest extends TestCase

Fields Summary
private static final String
LONG_NAME
Constructors Summary
public TarRoundTripTest(String name)


       
        super(name);
    
Methods Summary
public voidtestLongRoundTripping()
test round-tripping long (GNU) entries

        TarEntry original = new TarEntry(LONG_NAME);
        assertTrue("over 100 chars", LONG_NAME.length() > 100);
        assertEquals("original name", LONG_NAME, original.getName());


        ByteArrayOutputStream buff = new ByteArrayOutputStream();
        TarOutputStream tos = new TarOutputStream(buff);
        tos.setLongFileMode(TarOutputStream.LONGFILE_GNU);
        tos.putNextEntry(original);
        tos.closeEntry();
        tos.close();

        TarInputStream tis
            = new TarInputStream(new ByteArrayInputStream(buff.toByteArray()));
        TarEntry tripped = tis.getNextEntry();
        assertEquals("round-tripped name", LONG_NAME, tripped.getName());
        assertNull("no more entries", tis.getNextEntry());
        tis.close();