aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java
diff options
context:
space:
mode:
authorPortree-Kid <keith.paterson@gmx.de>2013-03-08 15:51:14 +0100
committerPortree-Kid <keith.paterson@gmx.de>2013-03-08 15:51:14 +0100
commitc80b90edad7c3721e349b4db3d6c5aa21a6c7a12 (patch)
tree7af952f09a1e4d00c7f77cb1936a86bc81b6ef52 /tests/src/cgeo/geocaching/connector/oc/OCXMLTest.java
parenta0932683fdf840fd97464e93a4597fac5c93a731 (diff)
parentea4e5bbbe197384fe276f85ae11856b0344af02c (diff)
downloadcgeo-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.java123
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>"));
+ }
+}