You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by my...@apache.org on 2009/09/22 19:04:25 UTC

svn commit: r817732 - in /sling/trunk/launchpad/base/src: main/java/org/apache/sling/launchpad/base/impl/BootstrapInstaller.java test/java/org/apache/sling/launchpad/base/impl/BootstrapInstallerTest.java

Author: mykee
Date: Tue Sep 22 17:04:23 2009
New Revision: 817732

URL: http://svn.apache.org/viewvc?rev=817732&view=rev
Log:
SLING-1113 BootstrapInstallerTest fails on Windows systems

Modified:
    sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/BootstrapInstaller.java
    sling/trunk/launchpad/base/src/test/java/org/apache/sling/launchpad/base/impl/BootstrapInstallerTest.java

Modified: sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/BootstrapInstaller.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/BootstrapInstaller.java?rev=817732&r1=817731&r2=817732&view=diff
==============================================================================
--- sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/BootstrapInstaller.java (original)
+++ sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/BootstrapInstaller.java Tue Sep 22 17:04:23 2009
@@ -763,8 +763,12 @@
         if (isBlank(path)) {
             throw new IllegalArgumentException("Invalid blank path specified, cannot extract filename: " + path);
         }
+
+        // ensure forward slashes in the path
+        path = path.replace(File.separatorChar, '/');
+
         String name = "";
-        int slashPos = path.lastIndexOf(File.separatorChar);
+        int slashPos = path.lastIndexOf('/');
         if (slashPos == -1) {
             // this is only a filename (no directory path included)
             name = path;

Modified: sling/trunk/launchpad/base/src/test/java/org/apache/sling/launchpad/base/impl/BootstrapInstallerTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/base/src/test/java/org/apache/sling/launchpad/base/impl/BootstrapInstallerTest.java?rev=817732&r1=817731&r2=817732&view=diff
==============================================================================
--- sling/trunk/launchpad/base/src/test/java/org/apache/sling/launchpad/base/impl/BootstrapInstallerTest.java (original)
+++ sling/trunk/launchpad/base/src/test/java/org/apache/sling/launchpad/base/impl/BootstrapInstallerTest.java Tue Sep 22 17:04:23 2009
@@ -40,7 +40,7 @@
      * .
      */
     @Test
-    public void testExtractFileName() {
+    public void testExtractFileNameForwardSlash() {
         String filename = BootstrapInstaller.extractFileName("myfile.html");
         assertEquals("myfile.html", filename);
 
@@ -74,6 +74,44 @@
 
     /**
      * Test method for
+     * {@link org.apache.sling.launchpad.base.impl.BootstrapInstaller#extractFileName(java.lang.String)}
+     * .
+     */
+    @Test
+    public void testExtractFileNameSeparatorChar() {
+        String filename = BootstrapInstaller.extractFileName("myfile.html".replace('/', File.separatorChar));
+        assertEquals("myfile.html", filename);
+
+        filename = BootstrapInstaller.extractFileName("/things/myfile.html".replace('/', File.separatorChar));
+        assertEquals("myfile.html", filename);
+
+        filename = BootstrapInstaller.extractFileName("LOTS/of/random/things/myfile.html".replace('/', File.separatorChar));
+        assertEquals("myfile.html", filename);
+
+        try {
+            filename = BootstrapInstaller.extractFileName("LOTS/of/random/things/".replace('/', File.separatorChar));
+            fail("should have thrown exception");
+        } catch (IllegalArgumentException e) {
+            assertNotNull(e.getMessage());
+        }
+
+        try {
+            filename = BootstrapInstaller.extractFileName("LOTS/of/random/things/".replace('/', File.separatorChar));
+            fail("should have thrown exception");
+        } catch (IllegalArgumentException e) {
+            assertNotNull(e.getMessage());
+        }
+
+        try {
+            filename = BootstrapInstaller.extractFileName(null);
+            fail("should have thrown exception");
+        } catch (IllegalArgumentException e) {
+            assertNotNull(e.getMessage());
+        }
+    }
+
+    /**
+     * Test method for
      * {@link org.apache.sling.launchpad.base.impl.BootstrapInstaller#copyStreamToFile(java.io.InputStream, java.io.File)}
      * .
      */
@@ -101,9 +139,11 @@
             FileInputStream copyStream = new FileInputStream(copy);
             byte[] copyData = new byte[copyStream.available()];
             copyStream.read(copyData);
+            copyStream.close();
             FileInputStream origStream = new FileInputStream(copy);
             byte[] origData = new byte[origStream.available()];
             origStream.read(origData);
+            origStream.close();
             assertArrayEquals(copyData, origData);
         } catch (FileNotFoundException e) {
             fail(e.getMessage());