diff --git a/maven-builder-support/src/main/java/org/apache/maven/building/UrlSource.java b/maven-builder-support/src/main/java/org/apache/maven/building/UrlSource.java index 7a6e9b09bf..7bd3e3c30f 100644 --- a/maven-builder-support/src/main/java/org/apache/maven/building/UrlSource.java +++ b/maven-builder-support/src/main/java/org/apache/maven/building/UrlSource.java @@ -43,7 +43,7 @@ public class UrlSource { if ( url == null ) { - throw new IllegalArgumentException( "no POM URL specified" ); + throw new IllegalArgumentException( "no url specified" ); } this.url = url; } diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java new file mode 100644 index 0000000000..086adda869 --- /dev/null +++ b/maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java @@ -0,0 +1,93 @@ +package org.apache.maven.building; + +/* + * 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 static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import java.io.File; +import java.io.InputStream; +import java.util.Scanner; + +import org.junit.Test; + +public class FileSourceTest +{ + + @Test + public void testFileSource() + { + try + { + new FileSource( null ); + fail( "Should fail, since you must specify a file" ); + } + catch ( IllegalArgumentException e ) + { + assertEquals( "no file specified", e.getMessage() ); + } + } + + @Test + public void testGetInputStream() + throws Exception + { + File txtFile = new File( "target/test-classes/source.txt" ); + FileSource source = new FileSource( txtFile ); + + Scanner scanner = null; + InputStream is = null; + try + { + is = source.getInputStream(); + + scanner = new Scanner( is ); + assertEquals( "Hello World!", scanner.nextLine() ); + } + finally + { + if ( scanner != null ) + { + scanner.close(); + } + if ( is != null ) + { + is.close(); + } + } + } + + @Test + public void testGetLocation() + { + File txtFile = new File( "target/test-classes/source.txt" ); + FileSource source = new FileSource( txtFile ); + assertEquals( txtFile.getAbsolutePath(), source.getLocation() ); + } + + @Test + public void testGetFile() + { + File txtFile = new File( "target/test-classes/source.txt" ); + FileSource source = new FileSource( txtFile ); + assertEquals( txtFile.getAbsoluteFile(), source.getFile() ); + } + +} diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java new file mode 100644 index 0000000000..013b8a4d9c --- /dev/null +++ b/maven-builder-support/src/test/java/org/apache/maven/building/StringSourceTest.java @@ -0,0 +1,79 @@ +package org.apache.maven.building; + +/* + * 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 static org.junit.Assert.assertEquals; + +import java.io.InputStream; +import java.util.Scanner; + +import org.junit.Test; + +public class StringSourceTest +{ + @Test + public void testGetInputStream() + throws Exception + { + StringSource source = new StringSource( "Hello World!" ); + + Scanner scanner = null; + InputStream is = null; + try + { + is = source.getInputStream(); + + scanner = new Scanner( is ); + assertEquals( "Hello World!", scanner.nextLine() ); + } + finally + { + if ( scanner != null ) + { + scanner.close(); + } + if ( is != null ) + { + is.close(); + } + } + } + + @Test + public void testGetLocation() + { + StringSource source = new StringSource( "Hello World!" ); + assertEquals( "(memory)", source.getLocation() ); + + source = new StringSource( "Hello World!", "LOCATION" ); + assertEquals( "LOCATION", source.getLocation() ); + } + + @Test + public void testGetContent() + { + StringSource source = new StringSource( null ); + assertEquals( "", source.getContent() ); + + source = new StringSource( "Hello World!", "LOCATION" ); + assertEquals( "Hello World!", source.getContent() ); + } + +} diff --git a/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java b/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java new file mode 100644 index 0000000000..5524c9b355 --- /dev/null +++ b/maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java @@ -0,0 +1,87 @@ +package org.apache.maven.building; + +/* + * 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 static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import java.io.File; +import java.io.InputStream; +import java.net.URL; +import java.util.Scanner; + +import org.junit.Test; + +public class UrlSourceTest +{ + + @Test + public void testUrlSource() + { + try + { + new UrlSource( null ); + fail( "Should fail, since you must specify a url" ); + } + catch ( IllegalArgumentException e ) + { + assertEquals( "no url specified", e.getMessage() ); + } + } + + @Test + public void testGetInputStream() + throws Exception + { + URL txtFile = new File( "target/test-classes/source.txt" ).toURI().toURL(); + UrlSource source = new UrlSource( txtFile ); + + Scanner scanner = null; + InputStream is = null; + try + { + is = source.getInputStream(); + + scanner = new Scanner( is ); + assertEquals( "Hello World!", scanner.nextLine() ); + } + finally + { + if ( scanner != null ) + { + scanner.close(); + } + if ( is != null ) + { + is.close(); + } + } + } + + @Test + public void testGetLocation() + throws Exception + { + URL txtFile = new File( "target/test-classes/source.txt" ).toURI().toURL(); + UrlSource source = new UrlSource( txtFile ); + assertEquals( txtFile.toExternalForm(), source.getLocation() ); + } + +} diff --git a/maven-builder-support/src/test/resources/source.txt b/maven-builder-support/src/test/resources/source.txt new file mode 100644 index 0000000000..c57eff55eb --- /dev/null +++ b/maven-builder-support/src/test/resources/source.txt @@ -0,0 +1 @@ +Hello World! \ No newline at end of file