Index: impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/asset/EmptyAssetTestCase.java =================================================================== --- impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/asset/EmptyAssetTestCase.java (revision 0) +++ impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/asset/EmptyAssetTestCase.java (revision 0) @@ -0,0 +1,76 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2009, Red Hat Middleware LLC, and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jboss.shrinkwrap.impl.base.asset; + +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.util.logging.Logger; + +import junit.framework.Assert; + +import org.junit.Test; + +/** + * Test Cases for the {@link EmptyAsset} + * + * @author Dan Allen + * @version $Revision: $ + */ +public class EmptyAssetTestCase +{ + + //-------------------------------------------------------------------------------------|| + // Class Members ----------------------------------------------------------------------|| + //-------------------------------------------------------------------------------------|| + + /** + * Logger + */ + private static final Logger log = Logger.getLogger(EmptyAssetTestCase.class.getName()); + + //-------------------------------------------------------------------------------------|| + // Instance Members -------------------------------------------------------------------|| + //-------------------------------------------------------------------------------------|| + + //-------------------------------------------------------------------------------------|| + // Tests ------------------------------------------------------------------------------|| + //-------------------------------------------------------------------------------------|| + + /** + * Ensures that the contents of the asset is empty. + */ + @Test + public void testRoundtrip() throws Exception + { + // Log + log.info("testRoundtrip"); + + // Make Asset + final EmptyAsset asset = new EmptyAsset(); + + // Get the contents back out of the asset + final InputStream stream = asset.openStream(); + final ByteArrayOutputStream out = new ByteArrayOutputStream(0); + int read; + while ((read = stream.read()) != -1) + { + out.write(read); + } + + Assert.assertEquals("Roundtrip did not produce empty contents", 0, out.toByteArray().length); + } +} Index: impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/asset/EmptyAsset.java =================================================================== --- impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/asset/EmptyAsset.java (revision 0) +++ impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/asset/EmptyAsset.java (revision 0) @@ -0,0 +1,39 @@ +package org.jboss.shrinkwrap.impl.base.asset; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; + +import org.jboss.shrinkwrap.api.Asset; + +/** + * Implementation of a {@link Asset} having empty content. + * + * @author Dan Allen + * @version $Revision: $ + */ +public class EmptyAsset implements Asset +{ + //-------------------------------------------------------------------------------------|| + // Required Implementations -----------------------------------------------------------|| + //-------------------------------------------------------------------------------------|| + + /** + * @see org.jboss.shrinkwrap.api.Asset#openStream() + */ + @Override + public InputStream openStream() + { + return new ByteArrayInputStream(new byte[0]); + } + + /** + * {@inheritDoc} + * @see java.lang.Object#toString() + */ + @Override + public String toString() + { + return "EmptyAsset"; + } + +} \ No newline at end of file