package org.codehaus.plexus.archiver.zip;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.components.io.resources.PlexusIoResource;
import java.io.File;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class PlexusIoZipFileResourceCollectionTest
extends PlexusTestCase
{
public void testFilesWithIllegalHtmlChars()
throws Exception
{
File testZip = new File( getBasedir(), "src/test/resources/archiveWithIllegalHtmlFileName.zip" );
Set<String> seen = new HashSet<String>( );
seen.add( "AFileThatNeedsHtmlEsc%3F>" );
seen.add( "Afile<Yo>.txt" );
seen.add( "File With Space.txt" );
seen.add( "FileWith%.txt" );
PlexusIoZipFileResourceCollection prc = new PlexusIoZipFileResourceCollection();
prc.setFile( testZip );
final Iterator<PlexusIoResource> entries = prc.getEntries();
while (entries.hasNext()){
final PlexusIoResource next = entries.next();
assertTrue( next.getName() + "was not present", seen.remove( next.getName() ) );
final InputStream contents = next.getContents();
contents.close();
}
}
}