You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2006/06/08 18:18:05 UTC
svn commit: r412788 [2/2] - in /maven/shared/trunk/maven-shared-io: ./
src/main/java/org/apache/maven/shared/io/download/
src/main/java/org/apache/maven/shared/io/location/
src/main/resources/META-INF/plexus/
src/test/java/org/apache/maven/shared/io/ s...
Modified: maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/LocatorTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/LocatorTest.java?rev=412788&r1=412787&r2=412788&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/LocatorTest.java (original)
+++ maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/LocatorTest.java Thu Jun 8 09:18:03 2006
@@ -1,17 +1,136 @@
package org.apache.maven.shared.io.location;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.maven.shared.io.MockManager;
+import org.apache.maven.shared.io.logging.DefaultMessageHolder;
+import org.apache.maven.shared.io.logging.MessageHolder;
+import org.easymock.MockControl;
+
import junit.framework.TestCase;
public class LocatorTest
extends TestCase
{
+
+ public void testShouldConstructWithNoParams()
+ {
+ new Locator();
+ }
+
+ public void testShouldConstructWithStrategyStackAndMessageHolder()
+ {
+ new Locator( Collections.EMPTY_LIST, new DefaultMessageHolder() );
+ }
+
+ public void testShouldAllowModificationOfStrategiesAfterConstructionWithUnmodifiableStack()
+ {
+ Locator locator = new Locator( Collections.unmodifiableList( Collections.EMPTY_LIST ),
+ new DefaultMessageHolder() );
+
+ locator.addStrategy( new FileLocatorStrategy() );
+
+ assertEquals( 1, locator.getStrategies().size() );
+ }
+
+ public void testShouldRetrieveNonNullMessageHolderWhenConstructedWithoutParams()
+ {
+ assertNotNull( new Locator().getMessageHolder() );
+ }
+
+ public void testSetStrategiesShouldClearAnyPreExistingStrategiesOut()
+ {
+ MockManager mgr = new MockManager();
+
+ MockControl originalStrategyControl = MockControl.createControl( LocatorStrategy.class );
+
+ mgr.add( originalStrategyControl );
+
+ LocatorStrategy originalStrategy = (LocatorStrategy) originalStrategyControl.getMock();
+
+ MockControl replacementStrategyControl = MockControl.createControl( LocatorStrategy.class );
+
+ mgr.add( replacementStrategyControl );
+
+ LocatorStrategy replacementStrategy = (LocatorStrategy) replacementStrategyControl.getMock();
+
+ mgr.replayAll();
+
+ Locator locator = new Locator();
+ locator.addStrategy( originalStrategy );
+
+ locator.setStrategies( Collections.singletonList( replacementStrategy ) );
+
+ List strategies = locator.getStrategies();
+
+ assertFalse( strategies.contains( originalStrategy ) );
+ assertTrue( strategies.contains( replacementStrategy ) );
+
+ mgr.verifyAll();
+ }
+
+ public void testShouldRemovePreviouslyAddedStrategy()
+ {
+ MockManager mgr = new MockManager();
+
+ MockControl originalStrategyControl = MockControl.createControl( LocatorStrategy.class );
+
+ mgr.add( originalStrategyControl );
+
+ LocatorStrategy originalStrategy = (LocatorStrategy) originalStrategyControl.getMock();
+
+ mgr.replayAll();
+
+ Locator locator = new Locator();
+ locator.addStrategy( originalStrategy );
+
+ List strategies = locator.getStrategies();
+
+ assertTrue( strategies.contains( originalStrategy ) );
+
+ locator.removeStrategy( originalStrategy );
+
+ strategies = locator.getStrategies();
+
+ assertFalse( strategies.contains( originalStrategy ) );
+
+ mgr.verifyAll();
+ }
- public void testClasspathResource()
+ public void testResolutionFallsThroughStrategyStackAndReturnsNullIfNotResolved()
{
- String url = getClass().getName().replace( '.', '/' ) + ".class";
+ List strategies = new ArrayList();
+
+ strategies.add( new LoggingLocatorStrategy() );
+ strategies.add( new LoggingLocatorStrategy() );
+ strategies.add( new LoggingLocatorStrategy() );
+
+ MessageHolder mh = new DefaultMessageHolder();
+
+ Locator locator = new Locator( strategies, mh );
+
+ Location location = locator.resolve( "some-specification" );
+
+ assertNull( location );
+
+ assertEquals( 3, mh.size() );
+ }
+
+ public static final class LoggingLocatorStrategy implements LocatorStrategy
+ {
+
+ static int instanceCounter = 0;
+
+ int counter = instanceCounter++;
+
+ public Location resolve( String locationSpecification, MessageHolder messageHolder )
+ {
+ messageHolder.addMessage( "resolve hit on strategy-" + (counter) );
+ return null;
+ }
- Locator locator = new Locator();
- locator.resolve( url );
}
}
Modified: maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocationTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocationTest.java?rev=412788&r1=412787&r2=412788&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocationTest.java (original)
+++ maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocationTest.java Thu Jun 8 09:18:03 2006
@@ -4,13 +4,18 @@
import java.io.IOException;
import java.net.URL;
+import org.apache.maven.shared.io.TestUtils;
+
+import junit.framework.TestCase;
+
public class URLLocationTest
- extends AbstractLocationTest
+ extends TestCase
{
public void testShouldConstructFromUrlAndTempFileSpecifications() throws IOException
{
File f = File.createTempFile( "url-location.", ".test" );
+ f.deleteOnExit();
URL url = f.toURL();
@@ -20,6 +25,7 @@
public void testShouldTransferFromTempFile() throws IOException
{
File f = File.createTempFile( "url-location.", ".test" );
+ f.deleteOnExit();
URL url = f.toURL();
@@ -32,10 +38,11 @@
public void testShouldTransferFromTempFileThenRead() throws IOException
{
File f = File.createTempFile( "url-location.", ".test" );
+ f.deleteOnExit();
String testStr = "This is a test";
- writeToFile( f, testStr );
+ TestUtils.writeToFile( f, testStr );
URL url = f.toURL();
Added: maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocatorStrategyTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocatorStrategyTest.java?rev=412788&view=auto
==============================================================================
--- maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocatorStrategyTest.java (added)
+++ maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocatorStrategyTest.java Thu Jun 8 09:18:03 2006
@@ -0,0 +1,60 @@
+package org.apache.maven.shared.io.location;
+
+import java.io.File;
+import java.io.IOException;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.shared.io.TestUtils;
+import org.apache.maven.shared.io.logging.DefaultMessageHolder;
+import org.apache.maven.shared.io.logging.MessageHolder;
+
+public class URLLocatorStrategyTest
+ extends TestCase
+{
+
+ public void testShouldConstructWithNoParams()
+ {
+ new URLLocatorStrategy();
+ }
+
+ public void testShouldConstructWithTempFileOptions()
+ {
+ new URLLocatorStrategy( "prefix.", ".suffix", true );
+ }
+
+ public void testShouldFailToResolveWithMalformedUrl()
+ {
+ MessageHolder mh = new DefaultMessageHolder();
+
+ Location location = new URLLocatorStrategy().resolve( "://www.google.com", mh );
+
+ assertNull( location );
+ assertEquals( 1, mh.size() );
+ }
+
+ public void testShouldResolveUrlForTempFile() throws IOException
+ {
+ File tempFile = File.createTempFile( "prefix.", ".suffix" );
+ tempFile.deleteOnExit();
+
+ String testStr = "This is a test.";
+
+ TestUtils.writeToFile( tempFile, testStr );
+
+ MessageHolder mh = new DefaultMessageHolder();
+
+ Location location = new URLLocatorStrategy().resolve( tempFile.toURL().toExternalForm(), mh );
+
+ assertNotNull( location );
+ assertEquals( 0, mh.size() );
+
+ location.open();
+
+ byte[] buffer = new byte[testStr.length()];
+ location.read( buffer );
+
+ assertEquals( testStr, new String( buffer ) );
+ }
+
+}
Propchange: maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocatorStrategyTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/shared/trunk/maven-shared-io/src/test/java/org/apache/maven/shared/io/location/URLLocatorStrategyTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"