diff options
author | Bananeweizen <bananeweizen@gmx.de> | 2011-10-18 18:12:25 +0200 |
---|---|---|
committer | Bananeweizen <bananeweizen@gmx.de> | 2011-10-18 18:12:25 +0200 |
commit | 0b7525130091b970409de7f3db941ba709f73b94 (patch) | |
tree | 8302f4a6d51063a34d6bdd0fe1e4b93c4421cd8e /tests/src/cgeo/geocaching | |
parent | 8fb166da436f49154f0c9738e26f993b7772c68f (diff) | |
download | cgeo-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.java | 23 | ||||
-rw-r--r-- | tests/src/cgeo/geocaching/cgeoApplicationTest.java | 36 | ||||
-rw-r--r-- | tests/src/cgeo/geocaching/test/mock/GC1ZXX2.java | 2 |
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 |