aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/connector/gc
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-08-19 22:27:50 +0200
committerBananeweizen <bananeweizen@gmx.de>2013-08-19 22:27:50 +0200
commit022cd031385dc4ab85f29eaa0506ceb8f494e444 (patch)
treee3cd03973e390aebc949bd4716386470ea9ffdd0 /tests/src/cgeo/geocaching/connector/gc
parent3a0dbcc25b6240513b879318a6179eafea12d8aa (diff)
downloadcgeo-022cd031385dc4ab85f29eaa0506ceb8f494e444.zip
cgeo-022cd031385dc4ab85f29eaa0506ceb8f494e444.tar.gz
cgeo-022cd031385dc4ab85f29eaa0506ceb8f494e444.tar.bz2
fix #3118: Page parsing impossible due to proxies on mobile network
Diffstat (limited to 'tests/src/cgeo/geocaching/connector/gc')
-rw-r--r--tests/src/cgeo/geocaching/connector/gc/TrackablesTest.java33
1 files changed, 32 insertions, 1 deletions
diff --git a/tests/src/cgeo/geocaching/connector/gc/TrackablesTest.java b/tests/src/cgeo/geocaching/connector/gc/TrackablesTest.java
index 4f13a7a..e95c99e 100644
--- a/tests/src/cgeo/geocaching/connector/gc/TrackablesTest.java
+++ b/tests/src/cgeo/geocaching/connector/gc/TrackablesTest.java
@@ -2,8 +2,8 @@ package cgeo.geocaching.connector.gc;
import cgeo.geocaching.Image;
import cgeo.geocaching.LogEntry;
-import cgeo.geocaching.TrackableLog;
import cgeo.geocaching.Trackable;
+import cgeo.geocaching.TrackableLog;
import cgeo.geocaching.enumerations.LogType;
import cgeo.geocaching.test.AbstractResourceInstrumentationTestCase;
import cgeo.geocaching.test.R;
@@ -94,6 +94,37 @@ public class TrackablesTest extends AbstractResourceInstrumentationTestCase {
assertTrue(goal.contains("href=\"http://www.geocaching.com/seek/cache_details.aspx?wp=GC3B7PD#\""));
}
+ public void testParseSpeedManagerCompressedTrackable() {
+ final Trackable tbNormal = parseTrackable(R.raw.tb54vjj_no_speedmanager_html);
+ assertTB54VJJ(tbNormal);
+ final Trackable tbCompressed = parseTrackable(R.raw.tb54vjj_speedmanager_html);
+ assertTB54VJJ(tbCompressed);
+ }
+
+ private static void assertTB54VJJ(final Trackable trackable) {
+ assertNotNull(trackable);
+ assertEquals("Krtek - Der kleine Maulwurf", trackable.getName());
+ final String goal = trackable.getGoal();
+ assertNotNull(goal);
+ assertTrue(goal.startsWith("Bei meinem Besitzer auf der Couch"));
+ assertTrue(goal.endsWith("Geocachern zusammen fotografieren."));
+ assertEquals("Der kleine Maulwurf in etwas gr&ouml;&szlig;er :-)", trackable.getDetails());
+ assertEquals("TB54VJJ", trackable.getGeocode());
+ assertEquals("Nordrhein-Westfalen, Germany", trackable.getOrigin());
+ assertEquals("Lineflyer", trackable.getOwner());
+ // the icon url is manipulated during compression
+ assertTrue(trackable.getIconUrl().endsWith("www.geocaching.com/images/wpttypes/21.gif"));
+ assertTrue(trackable.getImage().endsWith("img.geocaching.com/track/display/d9a475fa-da90-43ec-aec0-92afe26163e1.jpg"));
+ assertEquals("d11a3e3d-7db0-4d43-87f2-7893238844a6", trackable.getOwnerGuid());
+ assertNull(trackable.getSpottedGuid());
+ assertEquals(Trackable.SPOTTED_OWNER, trackable.getSpottedType());
+ assertNotNull(trackable.getReleased());
+ assertEquals("Travel Bug Dog Tag", trackable.getType());
+ final List<LogEntry> logs = trackable.getLogs();
+ assertNotNull(logs);
+ assertEquals(10, logs.size());
+ }
+
private Trackable parseTrackable(int trackablePage) {
final String pageContent = getFileContent(trackablePage);
return GCParser.parseTrackable(TextUtils.replaceWhitespace(pageContent), null);