From c05fb9699b70ec7d9800bf1e7264235dcf621294 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Sat, 2 Mar 2013 11:08:57 +0100 Subject: refactoring: use same package in test as in production --- .../cgeo/geocaching/connector/oc/OCXMLTest.java | 83 ++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java (limited to 'tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java') diff --git a/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java b/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java new file mode 100644 index 0000000..a1992bd --- /dev/null +++ b/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java @@ -0,0 +1,83 @@ +package cgeo.geocaching.connector.oc; + +import cgeo.CGeoTestCase; +import cgeo.geocaching.Geocache; +import cgeo.geocaching.Settings; +import cgeo.geocaching.connector.oc.OCXMLClient; +import cgeo.geocaching.enumerations.CacheType; + +import java.util.Collection; + +public class OCXMLTest extends CGeoTestCase { + + public static void testOCGetCache() { + final String geoCode = "OCDE76"; + + final Geocache cache = OCXMLClient.getCache(geoCode); + assertNotNull(cache); + assertEquals(geoCode, cache.getGeocode()); + assertEquals("Gitarrenspielplatz", cache.getName()); + assertEquals(CacheType.TRADITIONAL, cache.getType()); + assertEquals(2.0, cache.getDifficulty(), 0.1); + assertEquals(2.0, cache.getTerrain(), 0.1); + } + + public static void testOCLogAttendedAsFound() { + + final String oldOCName = Settings.getOCConnectorUserName(); + try { + Settings.setOCConnectorUserName("ra_sch"); + final String geoCode = "OCD541"; + final Geocache cache = OCXMLClient.getCache(geoCode); + assertNotNull(cache); + + assertTrue(cache.isFound()); + } finally { + Settings.setOCConnectorUserName(oldOCName); + } + } + + public static void testOCOwner() { + final String oldOCName = Settings.getOCConnectorUserName(); + try { + Settings.setOCConnectorUserName("andi12.2"); + final String geoCode = "OCC9BE"; + final Geocache cache = OCXMLClient.getCache(geoCode); + assertNotNull(cache); + + assertTrue(cache.isOwner()); + assertEquals("180571", cache.getOwnerUserId()); + } finally { + Settings.setOCConnectorUserName(oldOCName); + } + } + + public static void testOC0537Description() { + final String geoCode = "OC0537"; + final Geocache cache = OCXMLClient.getCache(geoCode); + assertNotNull(cache); + + assertFalse(cache.getDescription().length() < 100); + } + + public static void testNoArchivedInNearby() { + + final boolean oldExcludeDisabled = Settings.isExcludeDisabledCaches(); + final boolean oldExcludeMine = Settings.isExcludeMyCaches(); + try { + Settings.setExcludeDisabledCaches(false); + Settings.setExcludeMine(false); + // get an archived cache + final Geocache cache = OCXMLClient.getCache("OCD541"); + assertNotNull(cache); + assertTrue(cache.isArchived()); + // Get nearby for this cache + final Collection caches = OCXMLClient.getCachesAround(cache.getCoords(), 0.5); + // Should not be in the result! + assertFalse(caches.contains(cache)); + } finally { + Settings.setExcludeDisabledCaches(oldExcludeDisabled); + Settings.setExcludeMine(oldExcludeMine); + } + } +} -- cgit v1.1 From 40765f11f49f15dd9a0a040b631228b45c7211a5 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Sat, 2 Mar 2013 12:13:56 +0100 Subject: fix #2534: Updating a OC.de cache doubles the cache description --- .../cgeo/geocaching/connector/oc/OCXMLTest.java | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java') diff --git a/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java b/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java index a1992bd..46c3fd1 100644 --- a/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java +++ b/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java @@ -3,7 +3,6 @@ package cgeo.geocaching.connector.oc; import cgeo.CGeoTestCase; import cgeo.geocaching.Geocache; import cgeo.geocaching.Settings; -import cgeo.geocaching.connector.oc.OCXMLClient; import cgeo.geocaching.enumerations.CacheType; import java.util.Collection; @@ -80,4 +79,25 @@ public class OCXMLTest extends CGeoTestCase { Settings.setExcludeMine(oldExcludeMine); } } + + public static void testFetchTwiceDuplicatesDescription() { + final String geoCode = "OCEFBA"; + final String description = "

Bei dem Cache kannst du einen kleinen Schatz bergen. Bitte lege aber einen ander Schatz in das Döschen. Achtung vor Automuggels.

"; + + deleteCacheFromDB(geoCode); + Geocache cache = OCXMLClient.getCache(geoCode); + assertNotNull(cache); + try { + assertEquals(geoCode, cache.getGeocode()); + assertEquals(description, cache.getDescription()); + cache.store(null); + + // reload, make sure description is not duplicated + cache = OCXMLClient.getCache(geoCode); + assertNotNull(cache); + assertEquals(description, cache.getDescription()); + } finally { + deleteCacheFromDB(geoCode); + } + } } -- cgit v1.1 From 710d3b5e41ad920519902f828f5a6ccc0a1c3c34 Mon Sep 17 00:00:00 2001 From: Bananeweizen Date: Sat, 2 Mar 2013 13:05:12 +0100 Subject: new: strip unneeded markup from OC descriptions --- .../cgeo/geocaching/connector/oc/OCXMLTest.java | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java') diff --git a/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java b/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java index 46c3fd1..b12823a 100644 --- a/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java +++ b/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java @@ -82,7 +82,7 @@ public class OCXMLTest extends CGeoTestCase { public static void testFetchTwiceDuplicatesDescription() { final String geoCode = "OCEFBA"; - final String description = "

Bei dem Cache kannst du einen kleinen Schatz bergen. Bitte lege aber einen ander Schatz in das Döschen. Achtung vor Automuggels.

"; + final String description = "Bei dem Cache kannst du einen kleinen Schatz bergen. Bitte lege aber einen ander Schatz in das Döschen. Achtung vor Automuggels."; deleteCacheFromDB(geoCode); Geocache cache = OCXMLClient.getCache(geoCode); @@ -100,4 +100,24 @@ public class OCXMLTest extends CGeoTestCase { deleteCacheFromDB(geoCode); } } + + public static void testRemoveMarkupCache() { + final String geoCode = "OCEFBA"; + final String description = "Bei dem Cache kannst du einen kleinen Schatz bergen. Bitte lege aber einen ander Schatz in das Döschen. Achtung vor Automuggels."; + + Geocache cache = OCXMLClient.getCache(geoCode); + assertNotNull(cache); + assertEquals(description, cache.getDescription()); + } + + public static void testRemoveMarkup() { + assertEquals("", OC11XMLParser.stripMarkup("")); + assertEquals("Test", OC11XMLParser.stripMarkup("Test")); + assertEquals("bold and others not removed", OC11XMLParser.stripMarkup("bold and others not removed")); + assertEquals("unnecessary paragraph", OC11XMLParser.stripMarkup("

unnecessary paragraph

")); + assertEquals("unnecessary span", OC11XMLParser.stripMarkup("unnecessary span")); + assertEquals("nested", OC11XMLParser.stripMarkup("nested")); + assertEquals("mixed", OC11XMLParser.stripMarkup("

mixed

")); + assertEquals("

not

removable

", OC11XMLParser.stripMarkup("

not

removable

")); + } } -- cgit v1.1