Author: stephenc
Date: Wed Jun 15 23:10:30 2011
New Revision: 1136244

URL: http://svn.apache.org/viewvc?rev=1136244&view=rev
Log:
fix some of the new impl and add some more tests

Modified:
    
maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-commons-bridge/src/main/java/org/codehaus/plexus/util/FileUtils.java
    
maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/FileUtilsTest.java

Modified: 
maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-commons-bridge/src/main/java/org/codehaus/plexus/util/FileUtils.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-commons-bridge/src/main/java/org/codehaus/plexus/util/FileUtils.java?rev=1136244&r1=1136243&r2=1136244&view=diff
==============================================================================
--- 
maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-commons-bridge/src/main/java/org/codehaus/plexus/util/FileUtils.java
 (original)
+++ 
maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-commons-bridge/src/main/java/org/codehaus/plexus/util/FileUtils.java
 Wed Jun 15 23:10:30 2011
@@ -121,7 +121,7 @@ public class FileUtils
     public static String dirname( String name )
     {
         name.getClass();
-        return FilenameUtils.getPathNoEndSeparator( name );
+        return FilenameUtils.getFullPathNoEndSeparator( name );
     }
 
     public static String filename( String name )
@@ -132,7 +132,8 @@ public class FileUtils
 
     public static String basename( String name )
     {
-        throw new UnsupportedOperationException( "TODO: Implement" );
+        name.getClass();
+        return FilenameUtils.getBaseName( name );
     }
 
     public static String basename( String s1, String s2 )
@@ -142,7 +143,8 @@ public class FileUtils
 
     public static String extension( String name )
     {
-        throw new UnsupportedOperationException( "TODO: Implement" );
+        name.getClass();
+        return FilenameUtils.getExtension( name );
     }
 
     public static boolean fileExists( String name )

Modified: 
maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/FileUtilsTest.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/FileUtilsTest.java?rev=1136244&r1=1136243&r2=1136244&view=diff
==============================================================================
--- 
maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/FileUtilsTest.java
 (original)
+++ 
maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/FileUtilsTest.java
 Wed Jun 15 23:10:30 2011
@@ -1466,6 +1466,202 @@ public class FileUtilsTest
         assertThat( FileUtils.filename( "/test/foo.bar.txt" ), is( 
"foo.bar.txt" ) );
     }
 
+    //// basename(String)
+
+    @Test( expected = NullPointerException.class )
+    public void basenameNull()
+        throws Exception
+    {
+        FileUtils.basename( null );
+    }
+
+    @Test
+    public void basenameEmpty()
+        throws Exception
+    {
+        assertThat( FileUtils.basename( "" ), is( "" ) );
+    }
+
+    @Test
+    public void basenameFilename()
+        throws Exception
+    {
+        assertThat( FileUtils.basename( "foo.bar.txt" ), is( "foo.bar." ) );
+    }
+
+    @Test
+    public void basenameFilenameNoExtension()
+        throws Exception
+    {
+        assertThat( FileUtils.basename( "foo_bar_txt" ), is( "foo_bar_txt" ) );
+    }
+
+    @Test
+    @ReproducesPlexusBug( "assumes that the path is a local path" )
+    public void basenameWindowsRootPathOnUnix()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '/' ) );
+        assertThat( FileUtils.basename( "C:\\foo.bar.txt" ), is( 
"C:\\foo.bar." ) );
+    }
+
+    @Test
+    @ReproducesPlexusBug( "assumes that the path is a local path" )
+    public void basenameWindowsNonRootPathOnUnix()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '/' ) );
+        assertThat( FileUtils.basename( "C:\\test\\foo.bar.txt" ), is( 
"C:\\test\\foo.bar." ) );
+    }
+
+    @Test
+    @ReproducesPlexusBug( "assumes that the path is a local path" )
+    public void basenameUnixRootPathOnWindows()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '\\' ) );
+        assertThat( FileUtils.basename( "/foo.bar.txt" ), is( "/foo.bar." ) );
+    }
+
+    @Test
+    @ReproducesPlexusBug( "assumes that the path is a local path" )
+    public void basenameUnixNonRootPathOnWindows()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '\\' ) );
+        assertThat( FileUtils.basename( "/test/foo.bar.txt" ), is( 
"/test/foo.bar." ) );
+    }
+
+    @Test
+    public void basenameWindowsRootPathOnWindows()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '\\' ) );
+        assertThat( FileUtils.basename( "C:\\foo.bar.txt" ), is( "foo.bar." ) 
);
+    }
+
+    @Test
+    public void basenameWindowsNonRootPathOnWindows()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '\\' ) );
+        assertThat( FileUtils.basename( "C:\\test\\foo.bar.txt" ), is( 
"foo.bar." ) );
+    }
+
+    @Test
+    public void basenameUnixRootPathOnUnix()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '/' ) );
+        assertThat( FileUtils.basename( "/foo.bar.txt" ), is( "foo.bar." ) );
+    }
+
+    @Test
+    public void basenameUnixNonRootPathOnUnix()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '/' ) );
+        assertThat( FileUtils.basename( "/test/foo.bar.txt" ), is( "foo.bar." 
) );
+    }
+
+    //// extension(String)
+
+    @Test( expected = NullPointerException.class )
+    public void extensionNull()
+        throws Exception
+    {
+        FileUtils.extension( null );
+    }
+
+    @Test
+    public void extensionEmpty()
+        throws Exception
+    {
+        assertThat( FileUtils.extension( "" ), is( "" ) );
+    }
+
+    @Test
+    public void extensionFileName()
+        throws Exception
+    {
+        assertThat( FileUtils.extension( "foo.bar.txt" ), is( "txt" ) );
+    }
+
+    @Test
+    public void extensionFileNameNoExtension()
+        throws Exception
+    {
+        assertThat( FileUtils.extension( "foo_bar_txt" ), is( "" ) );
+    }
+
+    @Test
+    @ReproducesPlexusBug( "assumes that the path is a local path" )
+    public void extensionWindowsRootPathOnUnix()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '/' ) );
+        assertThat( FileUtils.extension( "C:\\foo.bar.txt" ), is( "txt" ) );
+    }
+
+    @Test
+    @ReproducesPlexusBug( "assumes that the path is a local path" )
+    public void extensionWindowsNonRootPathOnUnix()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '/' ) );
+        assertThat( FileUtils.extension( "C:\\test\\foo.bar.txt" ), is( "txt" 
) );
+    }
+
+    @Test
+    @ReproducesPlexusBug( "assumes that the path is a local path" )
+    public void extensionUnixRootPathOnWindows()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '\\' ) );
+        assertThat( FileUtils.extension( "/foo.bar.txt" ), is( "txt" ) );
+    }
+
+    @Test
+    @ReproducesPlexusBug( "assumes that the path is a local path" )
+    public void extensionUnixNonRootPathOnWindows()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '\\' ) );
+        assertThat( FileUtils.extension( "/test/foo.bar.txt" ), is( "txt" ) );
+    }
+
+    @Test
+    public void extensionWindowsRootPathOnWindows()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '\\' ) );
+        assertThat( FileUtils.extension( "C:\\foo.bar.txt" ), is( "txt" ) );
+    }
+
+    @Test
+    public void extensionWindowsNonRootPathOnWindows()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '\\' ) );
+        assertThat( FileUtils.extension( "C:\\test\\foo.bar.txt" ), is( "txt" 
) );
+    }
+
+    @Test
+    public void extensionUnixRootPathOnUnix()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '/' ) );
+        assertThat( FileUtils.extension( "/foo.bar.txt" ), is( "txt" ) );
+    }
+
+    @Test
+    public void extensionUnixNonRootPathOnUnix()
+        throws Exception
+    {
+        assumeThat( File.separatorChar, is( '/' ) );
+        assertThat( FileUtils.extension( "/test/foo.bar.txt" ), is( "txt" ) );
+    }
+
     //// constants for testing
 
     private static final String[] MINIMUM_DEFAULT_EXCLUDES = {


Reply via email to