imario 2004/05/17 11:22:17
Modified: vfs/src/java/org/apache/commons/vfs/provider
AbstractFileName.java
vfs/src/test/org/apache/commons/vfs/provider/smb/test
FileNameTestCase.java
Log:
PR: 29007
Submitted by:Anthony Goubard ([EMAIL PROTECTED])
do not treat filenames like .bashrc, /.java as extension.
Revision Changes Path
1.7 +7 -2
jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/AbstractFileName.java
Index: AbstractFileName.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/provider/AbstractFileName.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- AbstractFileName.java 10 May 2004 20:09:42 -0000 1.6
+++ AbstractFileName.java 17 May 2004 18:22:17 -0000 1.7
@@ -328,7 +328,12 @@
{
getBaseName();
final int pos = baseName.lastIndexOf('.');
- if ((pos == -1) || (pos == baseName.length() - 1))
+ // if ((pos == -1) || (pos == baseName.length() - 1))
+ // [EMAIL PROTECTED]: Review of patch from [EMAIL PROTECTED]
+ // do not treat filenames like
+ // .bashrc c:\windows\.java c:\windows\.javaws c:\windows\.jedit
c:\windows\.appletviewer
+ // as extension
+ if ((pos < 1) || (pos == baseName.length() - 1))
{
// No extension
extension = "";
1.5 +29 -1
jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/provider/smb/test/FileNameTestCase.java
Index: FileNameTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/vfs/src/test/org/apache/commons/vfs/provider/smb/test/FileNameTestCase.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FileNameTestCase.java 10 May 2004 20:09:49 -0000 1.4
+++ FileNameTestCase.java 17 May 2004 18:22:17 -0000 1.5
@@ -81,6 +81,34 @@
assertEquals("/file", name.getPath());
assertEquals("smb://[EMAIL PROTECTED]/share/", name.getRootURI());
assertEquals("smb://[EMAIL PROTECTED]/share/file", name.getURI());
+
+ // Name with extension
+ name = SmbFileName.parseUri("smb://[EMAIL PROTECTED]/share/file.txt");
+ assertEquals("smb", name.getScheme());
+ assertEquals("user", name.getUserName());
+ assertNull(name.getPassword());
+ assertEquals("hostname", name.getHostName());
+ assertEquals(139, name.getPort());
+ assertEquals("share", name.getShare());
+ assertEquals("/file.txt", name.getPath());
+ assertEquals("file.txt", name.getBaseName());
+ assertEquals("txt", name.getExtension());
+ assertEquals("smb://[EMAIL PROTECTED]/share/", name.getRootURI());
+ assertEquals("smb://[EMAIL PROTECTED]/share/file.txt", name.getURI());
+
+ // Name look likes extension, but isnt
+ name = SmbFileName.parseUri("smb://[EMAIL PROTECTED]/share/.bashrc");
+ assertEquals("smb", name.getScheme());
+ assertEquals("user", name.getUserName());
+ assertNull(name.getPassword());
+ assertEquals("hostname", name.getHostName());
+ assertEquals(139, name.getPort());
+ assertEquals("share", name.getShare());
+ assertEquals("/.bashrc", name.getPath());
+ assertEquals(".bashrc", name.getBaseName());
+ assertEquals("", name.getExtension());
+ assertEquals("smb://[EMAIL PROTECTED]/share/", name.getRootURI());
+ assertEquals("smb://[EMAIL PROTECTED]/share/.bashrc", name.getURI());
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]