aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo
diff options
context:
space:
mode:
authorMichael Keppler <michael.keppler@gmx.de>2014-04-29 09:51:09 +0200
committerMichael Keppler <michael.keppler@gmx.de>2014-04-29 09:51:21 +0200
commit42df35bc3f26e329ce4825c8773f18b62b97f8b7 (patch)
tree328b4f084db4a30c903b4aa034de02997893ca4c /tests/src/cgeo
parentdb135076afa6fdb6b1df7847849840a6ebb9455c (diff)
downloadcgeo-42df35bc3f26e329ce4825c8773f18b62b97f8b7.zip
cgeo-42df35bc3f26e329ce4825c8773f18b62b97f8b7.tar.gz
cgeo-42df35bc3f26e329ce4825c8773f18b62b97f8b7.tar.bz2
fix #3795: filter invalid character references during import
Diffstat (limited to 'tests/src/cgeo')
-rw-r--r--tests/src/cgeo/geocaching/files/InvalidXMLCharacterFilterReaderTest.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/files/InvalidXMLCharacterFilterReaderTest.java b/tests/src/cgeo/geocaching/files/InvalidXMLCharacterFilterReaderTest.java
new file mode 100644
index 0000000..0641b5d
--- /dev/null
+++ b/tests/src/cgeo/geocaching/files/InvalidXMLCharacterFilterReaderTest.java
@@ -0,0 +1,28 @@
+package cgeo.geocaching.files;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import android.sax.EndTextElementListener;
+import android.sax.RootElement;
+import android.test.AndroidTestCase;
+import android.util.Xml;
+
+import java.io.StringReader;
+import java.util.concurrent.atomic.AtomicReference;
+
+public class InvalidXMLCharacterFilterReaderTest extends AndroidTestCase {
+
+ public static void testFilterInvalid() throws Exception {
+ final RootElement root = new RootElement("desc");
+ final AtomicReference<String> description = new AtomicReference<String>();
+ root.setEndTextElementListener(new EndTextElementListener() {
+
+ public void end(String body) {
+ description.set(body);
+ }
+ });
+ StringReader reader = new StringReader("<?xml version=\"1.0\" encoding=\"utf-8\"?><desc>Invalid&#xB;description</desc>");
+ Xml.parse(new InvalidXMLCharacterFilterReader(reader), root.getContentHandler());
+ assertThat(description.get()).isEqualTo("Invaliddescription");
+ }
+}