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 | 101 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 82 insertions(+), 19 deletions(-) diff --git a/tests/com/gitblit/tests/StringUtilsTest.java b/tests/com/gitblit/tests/StringUtilsTest.java index 49938ae..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 output_nochange = "& < > " \t"; - String output_change = "& < > " "; - assertTrue(StringUtils.escapeForHtml(input, false).equals(output_nochange)); - assertTrue(StringUtils.escapeForHtml(input, true).equals(output_change)); + String outputNoChange = "& < > " \t"; + String outputChange = "& < > " "; + assertEquals(outputNoChange, StringUtils.escapeForHtml(input, false)); + assertEquals(outputChange, StringUtils.escapeForHtml(input, true)); } + @Test + public void testDecodeForHtml() throws Exception { + String input = "& < > ""; + 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