From 78dc06a87f82ed19e3eebe1f16dc6c1bdaf5fbc5 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 31 Jan 2012 09:35:30 -0500
Subject: [PATCH] Merge pull request #6 from lemval/master

---
 tests/com/gitblit/tests/StringUtilsTest.java |   97 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 80 insertions(+), 17 deletions(-)

diff --git a/tests/com/gitblit/tests/StringUtilsTest.java b/tests/com/gitblit/tests/StringUtilsTest.java
index df51a4b..71d055f 100644
--- a/tests/com/gitblit/tests/StringUtilsTest.java
+++ b/tests/com/gitblit/tests/StringUtilsTest.java
@@ -15,14 +15,20 @@
  */
 package com.gitblit.tests;
 
-import java.util.Arrays;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import junit.framework.TestCase;
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Test;
 
 import com.gitblit.utils.StringUtils;
 
-public class StringUtilsTest extends TestCase {
+public class StringUtilsTest {
 
+	@Test
 	public void testIsEmpty() throws Exception {
 		assertTrue(StringUtils.isEmpty(null));
 		assertTrue(StringUtils.isEmpty(""));
@@ -30,50 +36,107 @@
 		assertFalse(StringUtils.isEmpty("A"));
 	}
 
+	@Test
 	public void testBreakLinesForHtml() throws Exception {
 		String input = "this\nis\r\na\rtest\r\n\r\nof\n\nline\r\rbreaking";
 		String output = "this<br/>is<br/>a<br/>test<br/><br/>of<br/><br/>line<br/><br/>breaking";
-		assertTrue(StringUtils.breakLinesForHtml(input).equals(output));
+		assertEquals(output, StringUtils.breakLinesForHtml(input));
 	}
 
+	@Test
+	public void testEncodeUrl() throws Exception {
+		String input = "test /";
+		String output = "test%20%2F";
+		assertEquals(output, StringUtils.encodeURL(input));
+	}
+
+	@Test
 	public void testEscapeForHtml() throws Exception {
 		String input = "& < > \" \t";
 		String outputNoChange = "&amp; &lt; &gt; &quot; \t";
 		String outputChange = "&amp;&nbsp;&lt;&nbsp;&gt;&nbsp;&quot;&nbsp; &nbsp; &nbsp;";
-		assertTrue(StringUtils.escapeForHtml(input, false).equals(outputNoChange));
-		assertTrue(StringUtils.escapeForHtml(input, true).equals(outputChange));
+		assertEquals(outputNoChange, StringUtils.escapeForHtml(input, false));
+		assertEquals(outputChange, StringUtils.escapeForHtml(input, true));
 	}
 
+	@Test
+	public void testDecodeForHtml() throws Exception {
+		String input = "&amp; &lt; &gt; &quot;";
+		String output = "& < > \"";
+		assertEquals(output, StringUtils.decodeFromHtml(input));
+	}
+
+	@Test
 	public void testFlattenStrings() throws Exception {
 		String[] strings = { "A", "B", "C", "D" };
-		assertTrue(StringUtils.flattenStrings(Arrays.asList(strings)).equals("A B C D"));
+		assertEquals("A B C D", StringUtils.flattenStrings(Arrays.asList(strings)));
 	}
 
+	@Test
 	public void testTrim() throws Exception {
 		String input = "123456789 123456789 123456789 123456789 123456789 123456789 123456789 ";
 		String output = "123456789 123456789 123456789 123456789 123456789 1234567...";
-		assertTrue(StringUtils.trimShortLog(input).equals(output));
-		assertTrue(StringUtils.trimString(input, input.length()).equals(input));
+		assertEquals(output, StringUtils.trimShortLog(input));
+		assertEquals(input, StringUtils.trimString(input, input.length()));
 	}
 
+	@Test
 	public void testPadding() throws Exception {
 		String input = "test";
-		assertTrue(StringUtils.leftPad(input, 6 + input.length(), ' ').equals("      test"));
-		assertTrue(StringUtils.rightPad(input, 6 + input.length(), ' ').equals("test      "));
+		assertEquals("      test", StringUtils.leftPad(input, 6 + input.length(), ' '));
+		assertEquals("test      ", StringUtils.rightPad(input, 6 + input.length(), ' '));
 
-		assertTrue(StringUtils.leftPad(input, input.length(), ' ').equals(input));
-		assertTrue(StringUtils.rightPad(input, input.length(), ' ').equals(input));
+		assertEquals(input, StringUtils.leftPad(input, input.length(), ' '));
+		assertEquals(input, StringUtils.rightPad(input, input.length(), ' '));
 	}
 
+	@Test
 	public void testSHA1() throws Exception {
-		assertTrue(StringUtils.getSHA1("blob 16\000what is up, doc?").equals(
-				"bd9dbf5aae1a3862dd1526723246b20206e5fc37"));
+		assertEquals("bd9dbf5aae1a3862dd1526723246b20206e5fc37",
+				StringUtils.getSHA1("blob 16\000what is up, doc?"));
 	}
 
+	@Test
+	public void testMD5() throws Exception {
+		assertEquals("77fb8d95331f0d557472f6776d3aedf6",
+				StringUtils.getMD5("blob 16\000what is up, doc?"));
+	}
+
+	@Test
 	public void testRootPath() throws Exception {
 		String input = "/nested/path/to/repository";
 		String output = "/nested/path/to";
-		assertTrue(StringUtils.getRootPath(input).equals(output));
-		assertTrue(StringUtils.getRootPath("repository").equals(""));
+		assertEquals(output, StringUtils.getRootPath(input));
+		assertEquals("", StringUtils.getRootPath("repository"));
+	}
+
+	@Test
+	public void testStringsFromValue() throws Exception {
+		List<String> strings = StringUtils.getStringsFromValue("A B C D");
+		assertEquals(4, strings.size());
+		assertEquals("A", strings.get(0));
+		assertEquals("B", strings.get(1));
+		assertEquals("C", strings.get(2));
+		assertEquals("D", strings.get(3));
+	}
+
+	@Test
+	public void testStringsFromValue2() throws Exception {
+		List<String> strings = StringUtils.getStringsFromValue("common/* libraries/*");
+		assertEquals(2, strings.size());
+		assertEquals("common/*", strings.get(0));
+		assertEquals("libraries/*", strings.get(1));
+	}
+
+	@Test
+	public void testFuzzyMatching() throws Exception {
+		assertTrue(StringUtils.fuzzyMatch("12345", "12345"));
+		assertTrue(StringUtils.fuzzyMatch("AbCdEf", "abcdef"));
+		assertTrue(StringUtils.fuzzyMatch("AbCdEf", "abc*"));
+		assertTrue(StringUtils.fuzzyMatch("AbCdEf", "*def"));
+		assertTrue(StringUtils.fuzzyMatch("AbCdEfHIJ", "abc*hij"));
+
+		assertFalse(StringUtils.fuzzyMatch("123", "12345"));
+		assertFalse(StringUtils.fuzzyMatch("AbCdEfHIJ", "abc*hhh"));
 	}
 }

--
Gitblit v1.9.1