changeset 996:f46fb24d32fb

Added new tests for CacheUtil * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (urlToPath) use StringBuilder, not StringBuffer * tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java: (testUrlEquals, testUrlToPath) new tests
author Andrew Azores <aazores@redhat.com>
date Mon, 12 May 2014 09:58:28 -0400
parents 69dd2eb02dbf
children b19fe5f6a442
files ChangeLog netx/net/sourceforge/jnlp/cache/CacheUtil.java tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java
diffstat 3 files changed, 27 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri May 09 17:30:54 2014 -0400
+++ b/ChangeLog	Mon May 12 09:58:28 2014 -0400
@@ -1,3 +1,10 @@
+2014-05-09  Andrew Azores  <aazores@redhat.com>
+
+	* netx/net/sourceforge/jnlp/cache/CacheUtil.java: (urlToPath) use
+	StringBuilder, not StringBuffer
+	* tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java:
+	(testUrlEquals, testUrlToPath) new tests
+
 2014-05-09  Andrew Azores  <aazores@redhat.com>
 
 	* netx/net/sourceforge/jnlp/util/TimedHashMap.java: implements Map
--- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java	Fri May 09 17:30:54 2014 -0400
+++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java	Mon May 12 09:58:28 2014 -0400
@@ -49,9 +49,9 @@
 import net.sourceforge.jnlp.runtime.ApplicationInstance;
 import net.sourceforge.jnlp.runtime.JNLPRuntime;
 import net.sourceforge.jnlp.util.FileUtils;
-import net.sourceforge.jnlp.util.logging.OutputController;
 import net.sourceforge.jnlp.util.PropertiesFile;
 import net.sourceforge.jnlp.util.UrlUtils;
+import net.sourceforge.jnlp.util.logging.OutputController;
 
 /**
  * Provides static methods to interact with the cache, download
@@ -493,7 +493,7 @@
             throw new NullPointerException();
         }
 
-        StringBuffer path = new StringBuffer();
+        StringBuilder path = new StringBuilder();
 
         path.append(subdir);
         path.append(File.separatorChar);
--- a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java	Fri May 09 17:30:54 2014 -0400
+++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java	Mon May 12 09:58:28 2014 -0400
@@ -36,7 +36,9 @@
  */
 package net.sourceforge.jnlp.cache;
 
+import java.io.File;
 import java.net.URL;
+
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -52,4 +54,20 @@
             Assert.assertTrue("normalized form " + i + " must CacheUtil.urlEquals to its original " + i, CacheUtil.urlEquals(n[i], u[i]));
         }
     }
+
+    @Test
+    public void testUrlEquals() throws Exception {
+        final URL n1 = null, n2 = null, u1 = new URL("http://example.com"), u2 = u1, u3 = new URL("http://example.com");
+        Assert.assertTrue("Two nulls should be equal", CacheUtil.urlEquals(n1, n2));
+        Assert.assertFalse("Null URL should not equal a non-null", CacheUtil.urlEquals(n1, u1));
+        Assert.assertTrue("URL should equal itself (same reference)", CacheUtil.urlEquals(u1, u2));
+        Assert.assertTrue("URLs should be equal when different reference but the same URL", CacheUtil.urlEquals(u1, u3));
+    }
+
+    @Test
+    public void testUrlToPath() throws Exception {
+        final URL u = new URL("https://example.com/applet/some:weird*applet?.jar");
+        final File expected = new File("/tmp/https/example.com/applet/some_weird_applet");
+        Assert.assertEquals(expected, CacheUtil.urlToPath(u, "/tmp"));
+    }
 }