diff options
| author | Portree-Kid <keith.paterson@gmx.de> | 2013-03-08 15:51:14 +0100 |
|---|---|---|
| committer | Portree-Kid <keith.paterson@gmx.de> | 2013-03-08 15:51:14 +0100 |
| commit | c80b90edad7c3721e349b4db3d6c5aa21a6c7a12 (patch) | |
| tree | 7af952f09a1e4d00c7f77cb1936a86bc81b6ef52 /tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java | |
| parent | a0932683fdf840fd97464e93a4597fac5c93a731 (diff) | |
| parent | ea4e5bbbe197384fe276f85ae11856b0344af02c (diff) | |
| download | cgeo-c80b90edad7c3721e349b4db3d6c5aa21a6c7a12.zip cgeo-c80b90edad7c3721e349b4db3d6c5aa21a6c7a12.tar.gz cgeo-c80b90edad7c3721e349b4db3d6c5aa21a6c7a12.tar.bz2 | |
Merge remote-tracking branch 'upstream/master' into master-master
Conflicts:
main/src/cgeo/geocaching/cgeocaches.java
Diffstat (limited to 'tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java')
| -rw-r--r-- | tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java | 123 |
1 files changed, 123 insertions, 0 deletions
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..b12823a --- /dev/null +++ b/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java @@ -0,0 +1,123 @@ +package cgeo.geocaching.connector.oc; + +import cgeo.CGeoTestCase; +import cgeo.geocaching.Geocache; +import cgeo.geocaching.Settings; +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<Geocache> caches = OCXMLClient.getCachesAround(cache.getCoords(), 0.5); + // Should not be in the result! + assertFalse(caches.contains(cache)); + } finally { + Settings.setExcludeDisabledCaches(oldExcludeDisabled); + 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); + } + } + + 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("<b>bold and others not removed</b>", OC11XMLParser.stripMarkup("<b>bold and others not removed</b>")); + assertEquals("unnecessary paragraph", OC11XMLParser.stripMarkup("<p>unnecessary paragraph</p>")); + assertEquals("unnecessary span", OC11XMLParser.stripMarkup("<span>unnecessary span</span>")); + assertEquals("nested", OC11XMLParser.stripMarkup("<span><span>nested</span></span>")); + assertEquals("mixed", OC11XMLParser.stripMarkup("<span> <p> mixed </p> </span>")); + assertEquals("<p>not</p><p>removable</p>", OC11XMLParser.stripMarkup("<p>not</p><p>removable</p>")); + } +} |
