blob: bfb45103c158cae21f53eccbb0ac5cccf6aa2a68 [file] [log] [blame]
package org.apache.maven.wagon;
/*
* ==================================================================== The
* Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: 1.
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer. 2. Redistributions in
* binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution. 3. The end-userName documentation
* included with the redistribution, if any, must include the following
* acknowledgment: "This product includes software developed by the Apache
* Software Foundation (http://www.apache.org/)." Alternately, this
* acknowledgment may appear in the software itself, if and wherever such
* third-party acknowledgments normally appear. 4. The names "Apache" and
* "Apache Software Foundation" and "Apache Maven" must not be used to endorse
* or promote products derived from this software without prior written
* permission. For written permission, please contact apache@apache.org. 5.
* Products derived from this software may not be called "Apache", "Apache
* Maven", nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many individuals
* on behalf of the Apache Software Foundation. For more information on the
* Apache Software Foundation, please see <http://www.apache.org/> .
*
* ====================================================================
*/
import junit.framework.TestCase;
/**
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
* @version $Id$
*/
public class PathUtilsTest extends TestCase
{
public void testFilenameResolving()
{
assertEquals( "filename", PathUtils.filename( "dir/filename" ) );
assertEquals( "filename", PathUtils.filename( "filename" ) );
assertEquals( "filename", PathUtils.filename( "dir1/dir2/filename" ) );
}
public void testDirResolving()
{
assertEquals( "dir", PathUtils.dirname( "dir/filename" ) );
assertEquals( "", PathUtils.dirname( "filename" ) );
assertEquals( "dir1/dir2", PathUtils.dirname( "dir1/dir2/filename" ) );
}
public void testDirSpliting()
{
final String path = "a/b/c";
final String[] dirs = PathUtils.dirnames( path );
assertNotNull( dirs );
assertEquals( 2, dirs.length );
assertEquals( "a", dirs[0] );
assertEquals( "b", dirs[1] );
}
public void testHostResolving()
{
assertEquals(
"www.codehaus.org",
PathUtils.host( "http://www.codehaus.org" ) );
assertEquals( "localhost", PathUtils.host( null ) );
}
public void testProtocolResolving()
{
assertEquals( "http", PathUtils.protocol( "http://www.codehause.org" ) );
assertEquals( "file", PathUtils.protocol( "file:///c:/temp" ) );
}
public void testPortResolving()
{
assertEquals( 80, PathUtils.port( "http://www.codehause.org:80/maven" ) );
assertEquals(
WagonConstants.UNKNOWN_PORT,
PathUtils.port( "http://localhost/temp" ) );
assertEquals( 10, PathUtils.port( "ftp://localhost:10" ) );
}
public void testPortBasedir()
{
assertEquals(
"maven",
PathUtils.basedir( "http://www.codehause.org:80/maven" ) );
assertEquals( "temp", PathUtils.basedir( "http://localhost/temp" ) );
assertEquals( "c:/temp", PathUtils.basedir( "file://c:/temp" ) );
assertEquals( "", PathUtils.basedir( "http://localhost:80/" ) );
assertEquals( "", PathUtils.basedir( "http://localhost/" ) );
}
}