diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2013-06-16 08:04:52 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2013-06-16 08:04:52 +0200 |
| commit | 08a33325f9872d0b3b37eac7028d5540a5330d08 (patch) | |
| tree | 5b150863ad9c1bbe6a6e432005aa640069da44ee /tests/src/cgeo/geocaching | |
| parent | 3bb09ef0006c9a5bab27852cff848af72d0a2b16 (diff) | |
| download | cgeo-08a33325f9872d0b3b37eac7028d5540a5330d08.zip cgeo-08a33325f9872d0b3b37eac7028d5540a5330d08.tar.gz cgeo-08a33325f9872d0b3b37eac7028d5540a5330d08.tar.bz2 | |
fix #2886: trackable quick search not working
* introduce separate trackable connectors
* new detection of not activated trackables
* fix geokrety urls
Diffstat (limited to 'tests/src/cgeo/geocaching')
5 files changed, 79 insertions, 3 deletions
diff --git a/tests/src/cgeo/geocaching/TrackableTest.java b/tests/src/cgeo/geocaching/TrackableTest.java index 2852a4d..7d3fd5c 100644 --- a/tests/src/cgeo/geocaching/TrackableTest.java +++ b/tests/src/cgeo/geocaching/TrackableTest.java @@ -5,8 +5,7 @@ import android.test.AndroidTestCase; public class TrackableTest extends AndroidTestCase { public static void testGetGeocode() { - final Trackable trackable = new Trackable(); - trackable.setGeocode("tb1234"); + final Trackable trackable = createTrackable("tb1234"); assertEquals("TB1234", trackable.getGeocode()); } @@ -15,4 +14,26 @@ public class TrackableTest extends AndroidTestCase { trackable.setLogs(null); assertNotNull("Trackable logs must not be null!", trackable.getLogs()); } + + public static void testTrackableUrl() { + final Trackable trackable = createTrackable("TB1234"); + assertEquals("http://www.geocaching.com//track/details.aspx?tracker=TB1234", trackable.getUrl()); + } + + public static void testGeokretUrl() { + Trackable geokret = createTrackable("GK82A2"); + assertEquals("http://geokrety.org/konkret.php?id=33442", geokret.getUrl()); + } + + public static void testLoggable() { + assertTrue(createTrackable("TB1234").isLoggable()); + assertFalse(createTrackable("GK1234").isLoggable()); + } + + private static Trackable createTrackable(String geocode) { + final Trackable trackable = new Trackable(); + trackable.setGeocode(geocode); + return trackable; + } + } diff --git a/tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java b/tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java index 94cc067..8d3d840 100644 --- a/tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java +++ b/tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java @@ -3,6 +3,7 @@ package cgeo.geocaching.connector.gc; import cgeo.geocaching.SearchResult; import cgeo.geocaching.Settings; import cgeo.geocaching.connector.ConnectorFactory; +import cgeo.geocaching.connector.trackable.TravelBugConnector; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.geopoint.Viewport; @@ -46,10 +47,16 @@ public class GCConnectorTest extends AbstractResourceInstrumentationTestCase { public static void testCanHandle() { assertTrue(GCConnector.getInstance().canHandle("GC2MEGA")); - assertTrue(GCConnector.getInstance().canHandle("TB3F651")); assertFalse(GCConnector.getInstance().canHandle("OXZZZZZ")); } + /** + * functionality moved to {@link TravelBugConnector} + */ + public static void testCanNotHandleTrackablesAnymore() { + assertFalse(GCConnector.getInstance().canHandle("TB3F651")); + } + public static void testBaseCodings() { assertEquals(2045702, GCConstants.gccodeToGCId("GC2MEGA")); } diff --git a/tests/src/cgeo/geocaching/connector/gc/GCParserTest.java b/tests/src/cgeo/geocaching/connector/gc/GCParserTest.java index 9bc2caf..45eee3b 100644 --- a/tests/src/cgeo/geocaching/connector/gc/GCParserTest.java +++ b/tests/src/cgeo/geocaching/connector/gc/GCParserTest.java @@ -4,7 +4,9 @@ import cgeo.geocaching.Geocache; import cgeo.geocaching.Image; import cgeo.geocaching.SearchResult; import cgeo.geocaching.Settings; +import cgeo.geocaching.Trackable; import cgeo.geocaching.Waypoint; +import cgeo.geocaching.cgeoapplication; import cgeo.geocaching.enumerations.LoadFlags; import cgeo.geocaching.enumerations.StatusCode; import cgeo.geocaching.enumerations.WaypointType; @@ -213,4 +215,12 @@ public class GCParserTest extends AbstractResourceInstrumentationTestCase { return result.getFirstCacheFromResult(LoadFlags.LOAD_CACHE_OR_DB); } + public void testTrackableNotActivated() { + final String page = getFileContent(R.raw.tb123e_html); + final Trackable trackable = GCParser.parseTrackable(page, "TB123E"); + assertNotNull(trackable); + assertEquals("TB123E", trackable.getGeocode()); + final String expectedDetails = cgeoapplication.getInstance().getString(cgeo.geocaching.R.string.trackable_not_activated); + assertEquals(expectedDetails, trackable.getDetails()); + } } diff --git a/tests/src/cgeo/geocaching/connector/trackable/GeokretyConnectorTest.java b/tests/src/cgeo/geocaching/connector/trackable/GeokretyConnectorTest.java new file mode 100644 index 0000000..f08fb6b --- /dev/null +++ b/tests/src/cgeo/geocaching/connector/trackable/GeokretyConnectorTest.java @@ -0,0 +1,14 @@ +package cgeo.geocaching.connector.trackable; + +import junit.framework.TestCase; + +public class GeokretyConnectorTest extends TestCase { + + public static void testCanHandleTrackable() { + assertTrue(new GeokretyConnector().canHandleTrackable("GK82A2")); + assertFalse(new GeokretyConnector().canHandleTrackable("GKXYZ1")); // non hex + assertFalse(new GeokretyConnector().canHandleTrackable("TB1234")); + assertFalse(new GeokretyConnector().canHandleTrackable("UNKNOWN")); + } + +} diff --git a/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java b/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java new file mode 100644 index 0000000..7772e29 --- /dev/null +++ b/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java @@ -0,0 +1,24 @@ +package cgeo.geocaching.connector.trackable; + +import cgeo.geocaching.Trackable; + +import junit.framework.TestCase; + +public class TravelBugConnectorTest extends TestCase { + + public static void testCanHandleTrackable() { + assertTrue(new TravelBugConnector().canHandleTrackable("TB1234")); + assertTrue(new TravelBugConnector().canHandleTrackable("TB1")); + assertTrue(new TravelBugConnector().canHandleTrackable("TB123F")); + assertTrue(new TravelBugConnector().canHandleTrackable("TB123Z")); + assertFalse(new TravelBugConnector().canHandleTrackable("GK1234")); + assertFalse(new TravelBugConnector().canHandleTrackable("UNKNOWN")); + } + + public static void testGetUrl() { + final Trackable trackable = new Trackable(); + trackable.setGeocode("TB2345"); + assertEquals("http://www.geocaching.com//track/details.aspx?tracker=TB2345", new TravelBugConnector().getUrl(trackable)); + } + +} |
