aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/cgeo/geocaching/utils/BaseUtils.java2
-rw-r--r--tests/src/cgeo/geocaching/utils/BaseUtilsTest.java7
2 files changed, 8 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/utils/BaseUtils.java b/main/src/cgeo/geocaching/utils/BaseUtils.java
index 2f34e4e..82e48cb 100644
--- a/main/src/cgeo/geocaching/utils/BaseUtils.java
+++ b/main/src/cgeo/geocaching/utils/BaseUtils.java
@@ -41,7 +41,7 @@ public final class BaseUtils {
}
if (null != result) {
Matcher remover = PATTERN_REMOVE_NONPRINTABLE.matcher(result);
- result = remover.replaceAll("");
+ result = remover.replaceAll(" ");
return trim ? new String(result).trim() : new String(result);
// Java copies the whole page String, when matching with regular expressions
diff --git a/tests/src/cgeo/geocaching/utils/BaseUtilsTest.java b/tests/src/cgeo/geocaching/utils/BaseUtilsTest.java
index fe790af..2cedb2f 100644
--- a/tests/src/cgeo/geocaching/utils/BaseUtilsTest.java
+++ b/tests/src/cgeo/geocaching/utils/BaseUtilsTest.java
@@ -5,6 +5,8 @@ import cgeo.geocaching.test.mock.MockedCache;
import android.test.AndroidTestCase;
+import java.util.regex.Pattern;
+
public class BaseUtilsTest extends AndroidTestCase {
public static void testRegEx() {
String page = MockedCache.readCachePage("GC2CJPF");
@@ -23,4 +25,9 @@ public class BaseUtilsTest extends AndroidTestCase {
assertEquals("foo bar baz ", BaseUtils.replaceWhitespace(" foo\n\tbar \r baz "));
}
+ public static void testControlCharactersCleanup() {
+ Pattern patternAll = Pattern.compile("(.*)", Pattern.DOTALL);
+ assertEquals("some control characters removed", BaseUtils.getMatch("some" + "\u001C" + "control" + (char) 0x1D + "characters removed", patternAll, ""));
+ assertEquals("newline also removed", BaseUtils.getMatch("newline\nalso\nremoved", patternAll, ""));
+ }
}