You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ma...@apache.org on 2007/07/10 00:26:00 UTC
svn commit: r554776 - in /maven/sandbox/trunk/shared/maven-runtime: pom.xml
src/main/java/org/apache/maven/shared/runtime/ClassLoaderHelper.java
src/test/java/org/apache/maven/shared/runtime/ClassLoaderHelperTest.java
Author: markh
Date: Mon Jul 9 15:25:59 2007
New Revision: 554776
URL: http://svn.apache.org/viewvc?view=rev&rev=554776
Log:
o Made ClassLoaderHelper ignore unknown URLs
o Started ClassLoaderHelperTest
Added:
maven/sandbox/trunk/shared/maven-runtime/src/test/java/org/apache/maven/shared/runtime/ClassLoaderHelperTest.java (with props)
Modified:
maven/sandbox/trunk/shared/maven-runtime/pom.xml
maven/sandbox/trunk/shared/maven-runtime/src/main/java/org/apache/maven/shared/runtime/ClassLoaderHelper.java
Modified: maven/sandbox/trunk/shared/maven-runtime/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-runtime/pom.xml?view=diff&rev=554776&r1=554775&r2=554776
==============================================================================
--- maven/sandbox/trunk/shared/maven-runtime/pom.xml (original)
+++ maven/sandbox/trunk/shared/maven-runtime/pom.xml Mon Jul 9 15:25:59 2007
@@ -78,6 +78,12 @@
<version>3.8.1</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>2.2</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: maven/sandbox/trunk/shared/maven-runtime/src/main/java/org/apache/maven/shared/runtime/ClassLoaderHelper.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-runtime/src/main/java/org/apache/maven/shared/runtime/ClassLoaderHelper.java?view=diff&rev=554776&r1=554775&r2=554776
==============================================================================
--- maven/sandbox/trunk/shared/maven-runtime/src/main/java/org/apache/maven/shared/runtime/ClassLoaderHelper.java (original)
+++ maven/sandbox/trunk/shared/maven-runtime/src/main/java/org/apache/maven/shared/runtime/ClassLoaderHelper.java Mon Jul 9 15:25:59 2007
@@ -144,10 +144,6 @@
{
visitProjectsInJar( visitor, url );
}
- else
- {
- throw new MavenRuntimeException( "Unsupported URL: " + url );
- }
}
/**
Added: maven/sandbox/trunk/shared/maven-runtime/src/test/java/org/apache/maven/shared/runtime/ClassLoaderHelperTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-runtime/src/test/java/org/apache/maven/shared/runtime/ClassLoaderHelperTest.java?view=auto&rev=554776
==============================================================================
--- maven/sandbox/trunk/shared/maven-runtime/src/test/java/org/apache/maven/shared/runtime/ClassLoaderHelperTest.java (added)
+++ maven/sandbox/trunk/shared/maven-runtime/src/test/java/org/apache/maven/shared/runtime/ClassLoaderHelperTest.java Mon Jul 9 15:25:59 2007
@@ -0,0 +1,102 @@
+package org.apache.maven.shared.runtime;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+import junit.framework.TestCase;
+
+import org.easymock.EasyMock;
+import org.easymock.IMocksControl;
+
+/**
+ * Tests <code>ClassLoaderHelper</code>.
+ *
+ * @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
+ * @version $Id$
+ * @see ClassLoaderHelper
+ */
+public class ClassLoaderHelperTest extends TestCase
+{
+ // fields -----------------------------------------------------------------
+
+ private IMocksControl mockVisitorControl;
+
+ private MavenRuntimeVisitor mockVisitor;
+
+ // TestCase methods -------------------------------------------------------
+
+ /*
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ mockVisitorControl = EasyMock.createStrictControl();
+ mockVisitor = (MavenRuntimeVisitor) mockVisitorControl.createMock( MavenRuntimeVisitor.class );
+
+ mockVisitorControl.replay();
+ }
+
+ /*
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception
+ {
+ mockVisitorControl.verify();
+ }
+
+ // tests ------------------------------------------------------------------
+
+ public void testWithEmptyJar() throws IOException, MavenRuntimeException
+ {
+ accept( createTempFile( "file", ".jar" ) );
+ }
+
+ public void testWithUnknownFileExtension() throws IOException, MavenRuntimeException
+ {
+ accept( createTempFile( "file", ".unknown" ) );
+ }
+
+ // private methods -------------------------------------------------------
+
+ private URL createTempFile( String prefix, String suffix ) throws IOException
+ {
+ File file = File.createTempFile( prefix, suffix );
+ file.deleteOnExit();
+
+ return file.toURI().toURL();
+ }
+
+ private void accept( URL url ) throws MavenRuntimeException
+ {
+ accept( new URL[] {url} );
+ }
+
+ private void accept( URL[] urls ) throws MavenRuntimeException
+ {
+ ClassLoader classLoader = new URLClassLoader(urls, null);
+ ClassLoaderHelper helper = new ClassLoaderHelper(classLoader);
+
+ helper.accept( mockVisitor );
+ }
+}
Propchange: maven/sandbox/trunk/shared/maven-runtime/src/test/java/org/apache/maven/shared/runtime/ClassLoaderHelperTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/trunk/shared/maven-runtime/src/test/java/org/apache/maven/shared/runtime/ClassLoaderHelperTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"