Repository: commons-text Updated Branches: refs/heads/master 998764ebe -> 996b4beb4
Added Unit Tests which cover previously untested code (closes #60). Project: http://git-wip-us.apache.org/repos/asf/commons-text/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-text/commit/996b4beb Tree: http://git-wip-us.apache.org/repos/asf/commons-text/tree/996b4beb Diff: http://git-wip-us.apache.org/repos/asf/commons-text/diff/996b4beb Branch: refs/heads/master Commit: 996b4beb4da188bf831079d31b24a5a36f149e73 Parents: 998764e Author: Michael Hausegger <hausegger.mich...@googlemail.com> Authored: Mon Jul 31 23:58:18 2017 +0200 Committer: Pascal Schumacher <pascalschumac...@gmx.net> Committed: Tue Aug 1 18:05:10 2017 +0200 ---------------------------------------------------------------------- .../commons/text/AlphabetConverterTest.java | 12 ++++++ .../commons/text/FormattableUtilsTest.java | 8 +++- .../commons/text/StringEscapeUtilsTest.java | 36 ++++++++++++++++++ .../org/apache/commons/text/WordUtilsTest.java | 6 ++- .../commons/text/similarity/FuzzyScoreTest.java | 12 +++++- .../text/translate/CodePointTranslatorTest.java | 40 ++++++++++++++++++++ .../text/translate/LookupTranslatorTest.java | 8 +++- .../translate/SinglePassTranslatorTest.java | 6 +++ 8 files changed, 123 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-text/blob/996b4beb/src/test/java/org/apache/commons/text/AlphabetConverterTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/AlphabetConverterTest.java b/src/test/java/org/apache/commons/text/AlphabetConverterTest.java index 4ffd20c..5e98d98 100644 --- a/src/test/java/org/apache/commons/text/AlphabetConverterTest.java +++ b/src/test/java/org/apache/commons/text/AlphabetConverterTest.java @@ -29,6 +29,7 @@ import org.junit.rules.ExpectedException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * Unit tests for {@link AlphabetConverter}. @@ -252,6 +253,17 @@ public class AlphabetConverterTest { } @Test + public void testEqualsWithSameObject() { + Character[] characterArray = new Character[2]; + Character character = new Character('R'); + characterArray[0] = character; + characterArray[1] = character; + AlphabetConverter alphabetConverter = AlphabetConverter.createConverterFromChars(characterArray, characterArray, characterArray); + + assertTrue(alphabetConverter.equals(alphabetConverter)); + } + + @Test public void testEqualsWithNull() { Character[] characterArray = new Character[0]; AlphabetConverter alphabetConverter = AlphabetConverter.createConverterFromChars(characterArray, null, null); http://git-wip-us.apache.org/repos/asf/commons-text/blob/996b4beb/src/test/java/org/apache/commons/text/FormattableUtilsTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/FormattableUtilsTest.java b/src/test/java/org/apache/commons/text/FormattableUtilsTest.java index c7feb38..8a3225a 100644 --- a/src/test/java/org/apache/commons/text/FormattableUtilsTest.java +++ b/src/test/java/org/apache/commons/text/FormattableUtilsTest.java @@ -125,6 +125,11 @@ public class FormattableUtilsTest { assertEquals("+*___", FormattableUtils.append("foo", new Formatter(), LEFT_JUSTIFY, 5, 2, '_', "+*").toString()); } + @Test(expected = NullPointerException.class) + public void testAppendWithNullFormatterAndIntsThrowsNullPointerException() { + FormattableUtils.append("", null, 0, 0, 0, '}'); + } + static class SimplestFormattable implements Formattable { private final String text; @@ -138,5 +143,4 @@ public class FormattableUtilsTest { } }; - -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-text/blob/996b4beb/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java b/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java index 4de4fea..2f7d319 100644 --- a/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java +++ b/src/test/java/org/apache/commons/text/StringEscapeUtilsTest.java @@ -16,6 +16,7 @@ */ package org.apache.commons.text; +import org.junit.Ignore; import org.junit.Test; import java.io.IOException; @@ -592,4 +593,39 @@ public class StringEscapeUtilsTest { assertEquals("", unescapeXSI("\\")); } + @Test + public void testUnescapeEcmaScript() { + assertNull("Should be null.", StringEscapeUtils.unescapeEcmaScript(null)); + assertEquals("8lvc1u+6B#-I", StringEscapeUtils.unescapeEcmaScript("8lvc1u+6B#-I")); + assertEquals("<script src=\"build/main.bundle.js\"></script>", + StringEscapeUtils.unescapeEcmaScript("<script src=\"build/main.bundle.js\"></script>")); + assertEquals("<script src=\"build/main.bundle.js\"></script>>", + StringEscapeUtils.unescapeEcmaScript("<script src=\"build/main.bundle.js\"></script>>")); + } + + @Test + public void testEscapeHtmlThree() { + assertNull("Should be null.", StringEscapeUtils.escapeHtml3(null)); + assertEquals("a", StringEscapeUtils.escapeHtml3("a")); + assertEquals("<b>a", StringEscapeUtils.escapeHtml3("<b>a")); + } + + @Test + public void testUnescapeJson() { + String jsonString = "{\"age\":100,\"name\":\"kyong.com\n\",\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"]}"; + + assertEquals("", StringEscapeUtils.unescapeJson("")); + assertEquals(" ", StringEscapeUtils.unescapeJson(" ")); + assertEquals("a:b", StringEscapeUtils.unescapeJson("a:b")); + assertEquals(jsonString, StringEscapeUtils.unescapeJson(jsonString)); + } + + @Ignore("https://issues.apache.org/jira/browse/TEXT-100.") + @Test + public void testUnescapeJsonFoundBug_Issue_Text_100() { + String jsonString = "{\"age\":100,\"name\":\"m\\\"kyong.com\",\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"]}"; + + assertEquals(jsonString, StringEscapeUtils.unescapeJson(jsonString)); + } + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-text/blob/996b4beb/src/test/java/org/apache/commons/text/WordUtilsTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/WordUtilsTest.java b/src/test/java/org/apache/commons/text/WordUtilsTest.java index beb063a..7a9cb59 100644 --- a/src/test/java/org/apache/commons/text/WordUtilsTest.java +++ b/src/test/java/org/apache/commons/text/WordUtilsTest.java @@ -512,7 +512,11 @@ public class WordUtilsTest { WordUtils.wrap("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",70); + } + @Test + public void testContainsAllWordsWithNull() { + assertFalse(WordUtils.containsAllWords("M", null)); } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-text/blob/996b4beb/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java b/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java index 22621f2..17e1965 100644 --- a/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java +++ b/src/test/java/org/apache/commons/text/similarity/FuzzyScoreTest.java @@ -16,6 +16,7 @@ */ package org.apache.commons.text.similarity; +import static junit.framework.TestCase.assertSame; import static org.junit.Assert.assertEquals; import java.util.Locale; @@ -61,4 +62,13 @@ public class FuzzyScoreTest { new FuzzyScore((Locale) null); } -} + @Test + public void testGetLocale() { + Locale locale = Locale.CANADA_FRENCH; + FuzzyScore fuzzyScore = new FuzzyScore(locale); + Locale localeTwo = fuzzyScore.getLocale(); + + assertSame(locale, localeTwo); + } + +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-text/blob/996b4beb/src/test/java/org/apache/commons/text/translate/CodePointTranslatorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/translate/CodePointTranslatorTest.java b/src/test/java/org/apache/commons/text/translate/CodePointTranslatorTest.java new file mode 100644 index 0000000..2ab50b3 --- /dev/null +++ b/src/test/java/org/apache/commons/text/translate/CodePointTranslatorTest.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.text.translate; + +import org.junit.Assert; +import org.junit.Test; + +import java.io.IOException; +import java.io.PipedReader; +import java.io.PipedWriter; + + +public class CodePointTranslatorTest { + + @Test + public void testAboveReturningNonNull() throws IOException { + NumericEntityEscaper numericEntityEscaper = NumericEntityEscaper.above(0); + UnicodeEscaper unicodeEscaper = new UnicodeEscaper(); + String string = unicodeEscaper.toUtf16Escape(0); + PipedReader pipedReader = new PipedReader(); + PipedWriter pipedWriter = new PipedWriter(pipedReader); + + Assert.assertEquals(1, numericEntityEscaper.translate(string, 0, pipedWriter)); + } + +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-text/blob/996b4beb/src/test/java/org/apache/commons/text/translate/LookupTranslatorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/translate/LookupTranslatorTest.java b/src/test/java/org/apache/commons/text/translate/LookupTranslatorTest.java index ebf7af5..53fcef2 100644 --- a/src/test/java/org/apache/commons/text/translate/LookupTranslatorTest.java +++ b/src/test/java/org/apache/commons/text/translate/LookupTranslatorTest.java @@ -21,6 +21,7 @@ import org.junit.Test; import java.io.IOException; import java.io.StringWriter; +import java.security.InvalidParameterException; import java.util.HashMap; import java.util.Map; @@ -54,4 +55,9 @@ public class LookupTranslatorTest { assertEquals("Incorrect value", "two", out.toString()); } -} + @Test(expected = InvalidParameterException.class) + public void testFailsToCreateLookupTranslatorThrowsInvalidParameterException() { + new LookupTranslator(null); + } + +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-text/blob/996b4beb/src/test/java/org/apache/commons/text/translate/SinglePassTranslatorTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/text/translate/SinglePassTranslatorTest.java b/src/test/java/org/apache/commons/text/translate/SinglePassTranslatorTest.java index d36d6e2..6e682d9 100644 --- a/src/test/java/org/apache/commons/text/translate/SinglePassTranslatorTest.java +++ b/src/test/java/org/apache/commons/text/translate/SinglePassTranslatorTest.java @@ -54,4 +54,10 @@ public class SinglePassTranslatorTest { public void indexIsValidated() throws Exception { dummyTranslator.translate("abc", 1, out); } + + @Test(expected = IllegalArgumentException.class) + public void testTranslateThrowsIllegalArgumentException() throws IOException { + dummyTranslator.translate("(,Fk", 647, null); + } + } \ No newline at end of file