@@ -281,6 +281,33 @@ public void testCreateArchive()
281281 createArchive (archiver );
282282 }
283283
284+ public void testAddArchivedFileSet () throws Exception {
285+ File toBeAdded = new File ("src/test/resources/test.zip" );
286+ DefaultArchivedFileSet sfd = DefaultArchivedFileSet .archivedFileSet (toBeAdded );
287+ File zipFIle = getTestFile ("target/output/withZip.zip" );
288+ final ZipArchiver zipArchiver = getZipArchiver (zipFIle );
289+ InputStreamTransformer is = new InputStreamTransformer ()
290+ {
291+ public InputStream transform ( PlexusIoResource resource , InputStream inputStream )
292+ throws IOException
293+ {
294+ return new BoundedInputStream ( inputStream , 3 );
295+ }
296+ };
297+ sfd .setStreamTransformer (is );
298+ zipArchiver .addArchivedFileSet (sfd );
299+ zipArchiver .createArchive ();
300+
301+ final ZipUnArchiver zipUnArchiver = getZipUnArchiver (zipFIle );
302+ File destFile = new File ("target/output/withZip" );
303+ destFile .mkdirs ();
304+ zipUnArchiver .setDestFile (destFile );
305+ zipUnArchiver .extract ();
306+ File a3byteFile = new File (destFile , "Users/kristian/lsrc/plexus/plexus-archiver/src/main/java/org/codehaus/plexus/archiver/zip/ZipArchiver.java" );
307+ assertTrue (a3byteFile .exists ());
308+ assertTrue (a3byteFile .length () == 3 );
309+ }
310+
284311 public void testCreateArchiveWithStreamTransformer ()
285312 throws IOException
286313 {
@@ -294,7 +321,8 @@ public InputStream transform( PlexusIoResource resource, InputStream inputStream
294321 };
295322
296323 final ZipArchiver zipArchiver = getZipArchiver ( getTestFile ( "target/output/all3bytes.zip" ) );
297- DefaultArchivedFileSet afs = new DefaultArchivedFileSet ( new File ("src/test/resources/test.zip" ));
324+ File zipFIle = new File ("src/test/resources/test.zip" );
325+ DefaultArchivedFileSet afs = new DefaultArchivedFileSet (zipFIle );
298326 afs .setStreamTransformer ( is );
299327 afs .setPrefix ( "azip/" );
300328 zipArchiver .addArchivedFileSet ( afs );
0 commit comments