aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2011-10-18 18:12:25 +0200
committerBananeweizen <bananeweizen@gmx.de>2011-10-18 18:12:25 +0200
commit0b7525130091b970409de7f3db941ba709f73b94 (patch)
tree8302f4a6d51063a34d6bdd0fe1e4b93c4421cd8e /tests/src/cgeo/geocaching
parent8fb166da436f49154f0c9738e26f993b7772c68f (diff)
downloadcgeo-0b7525130091b970409de7f3db941ba709f73b94.zip
cgeo-0b7525130091b970409de7f3db941ba709f73b94.tar.gz
cgeo-0b7525130091b970409de7f3db941ba709f73b94.tar.bz2
fix #678: handle special characters in user name
* bad side effect of performance optimizations in parsing, reverted that * refactored parseCache to be static (to be able to write a test) * moved some map initializations to static code (to allow unit test without app) * fixed missing trim for owner name
Diffstat (limited to 'tests/src/cgeo/geocaching')
-rw-r--r--tests/src/cgeo/geocaching/ParserTest.java23
-rw-r--r--tests/src/cgeo/geocaching/cgeoApplicationTest.java36
-rw-r--r--tests/src/cgeo/geocaching/test/mock/GC1ZXX2.java2
3 files changed, 42 insertions, 19 deletions
diff --git a/tests/src/cgeo/geocaching/ParserTest.java b/tests/src/cgeo/geocaching/ParserTest.java
new file mode 100644
index 0000000..26e5182
--- /dev/null
+++ b/tests/src/cgeo/geocaching/ParserTest.java
@@ -0,0 +1,23 @@
+package cgeo.geocaching;
+
+import cgeo.geocaching.test.R;
+
+import android.test.InstrumentationTestCase;
+
+import java.io.InputStream;
+import java.util.Scanner;
+
+public class ParserTest extends InstrumentationTestCase {
+
+ private String getFileContent(int resourceId) {
+ InputStream ins = getInstrumentation().getContext().getResources().openRawResource(resourceId);
+ return new Scanner(ins).useDelimiter("\\A").next();
+ }
+
+ public void testOwnerDecoding() {
+ cgCacheWrap caches = cgBase.parseCache(getFileContent(R.raw.gc1zxez), 0, null);
+ assertEquals(1, caches.cacheList.size());
+ final cgCache cache = caches.cacheList.get(0);
+ assertEquals("Ms.Marple/Mr.Stringer", cache.ownerReal);
+ }
+} \ No newline at end of file
diff --git a/tests/src/cgeo/geocaching/cgeoApplicationTest.java b/tests/src/cgeo/geocaching/cgeoApplicationTest.java
index 4da302d..531fbfe 100644
--- a/tests/src/cgeo/geocaching/cgeoApplicationTest.java
+++ b/tests/src/cgeo/geocaching/cgeoApplicationTest.java
@@ -111,29 +111,29 @@ public class cgeoApplicationTest extends ApplicationTestCase<cgeoapplication> {
public void testParseLocationWithLink() {
cgCacheWrap caches = base.parseCache(MockedCache.readCachePage("GCV2R9"), 0, null);
+ assertEquals(1, caches.cacheList.size());
cgCache cache = caches.cacheList.get(0);
Assert.assertEquals("California, United States", cache.getLocation());
}
public void testSearchTrackable() {
cgTrackable tb = base.searchTrackable("TB2J1VZ", null, null);
- Assert.assertEquals("aefffb86-099f-444f-b132-605436163aa8", tb.getGuid());
- Assert.assertEquals("TB2J1VZ", tb.getGeocode());
- Assert.assertEquals("http://www.geocaching.com/images/wpttypes/21.gif", tb.getIconUrl());
- Assert.assertEquals("blafoo's Children Music CD", tb.getName());
- Assert.assertEquals("Travel Bug Dog Tag", tb.getType());
- Assert.assertEquals(new Date(2009 - 1900, 8 - 1, 24), tb.getReleased());
- Assert.assertEquals(10617.8f, tb.getDistance());
- Assert.assertEquals("Niedersachsen, Germany", tb.getOrigin());
- Assert.assertEquals("blafoo", tb.getOwner());
- Assert.assertEquals("0564a940-8311-40ee-8e76-7e91b2cf6284", tb.getOwnerGuid());
- Assert.assertEquals("Nice place for a break cache", tb.getSpottedName());
- Assert.assertEquals(cgTrackable.SPOTTED_CACHE, tb.getSpottedType());
- Assert.assertEquals("faa2d47d-19ea-422f-bec8-318fc82c8063", tb.getSpottedGuid());
- Assert.assertEquals("Kinder erfreuen.<br/><br/>Make children happy.", tb.getGoal());
- Assert.assertTrue(tb.getDetails().startsWith("Auf der CD sind"));
- Assert.assertEquals("http://img.geocaching.com/track/display/38382780-87a7-4393-8393-78841678ee8c.jpg", tb.getImage());
- Assert.assertEquals(10, tb.getLogs().size());
+ assertEquals("aefffb86-099f-444f-b132-605436163aa8", tb.getGuid());
+ assertEquals("TB2J1VZ", tb.getGeocode());
+ assertEquals("http://www.geocaching.com/images/wpttypes/21.gif", tb.getIconUrl());
+ assertEquals("blafoo's Children Music CD", tb.getName());
+ assertEquals("Travel Bug Dog Tag", tb.getType());
+ assertEquals(new Date(2009 - 1900, 8 - 1, 24), tb.getReleased());
+ assertEquals(10617.8f, tb.getDistance());
+ assertEquals("Niedersachsen, Germany", tb.getOrigin());
+ assertEquals("blafoo", tb.getOwner());
+ assertEquals("0564a940-8311-40ee-8e76-7e91b2cf6284", tb.getOwnerGuid());
+ assertEquals("Nice place for a break cache", tb.getSpottedName());
+ assertEquals(cgTrackable.SPOTTED_CACHE, tb.getSpottedType());
+ assertEquals("faa2d47d-19ea-422f-bec8-318fc82c8063", tb.getSpottedGuid());
+ assertEquals("Kinder erfreuen.<br/><br/>Make children happy.", tb.getGoal());
+ assertTrue(tb.getDetails().startsWith("Auf der CD sind"));
+ assertEquals("http://img.geocaching.com/track/display/38382780-87a7-4393-8393-78841678ee8c.jpg", tb.getImage());
+ assertEquals(10, tb.getLogs().size());
}
-
}
diff --git a/tests/src/cgeo/geocaching/test/mock/GC1ZXX2.java b/tests/src/cgeo/geocaching/test/mock/GC1ZXX2.java
index e95a0ac..6d63b18 100644
--- a/tests/src/cgeo/geocaching/test/mock/GC1ZXX2.java
+++ b/tests/src/cgeo/geocaching/test/mock/GC1ZXX2.java
@@ -36,7 +36,7 @@ public class GC1ZXX2 extends MockedCache {
@Override
public String getOwner() {
- return "Rich Uncle Pennybags ";
+ return "Rich Uncle Pennybags";
}
@Override