aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-04-07 13:35:30 +0200
committerSamuel Tardieu <sam@rfc1149.net>2013-04-07 13:46:01 +0200
commit29b9c9bcb06cb19f39ead0184b05ae8c96eda9cb (patch)
tree97fc1156426c0b623ff0a53de0c4fda8a7c89473 /tests/src/cgeo
parentc1b68d1b4b5d73afe60dcbbe03e9d3fd12f428b0 (diff)
parent37c90405dff48b5996fc8103e071fcd9c54f7a21 (diff)
downloadcgeo-29b9c9bcb06cb19f39ead0184b05ae8c96eda9cb.zip
cgeo-29b9c9bcb06cb19f39ead0184b05ae8c96eda9cb.tar.gz
cgeo-29b9c9bcb06cb19f39ead0184b05ae8c96eda9cb.tar.bz2
Merge branch 'release' into upstream
Conflicts: main/src/cgeo/geocaching/export/GpxExport.java
Diffstat (limited to 'tests/src/cgeo')
-rw-r--r--tests/src/cgeo/geocaching/export/ExportTest.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/export/ExportTest.java b/tests/src/cgeo/geocaching/export/ExportTest.java
index 22c6dd2..60d5716 100644
--- a/tests/src/cgeo/geocaching/export/ExportTest.java
+++ b/tests/src/cgeo/geocaching/export/ExportTest.java
@@ -3,7 +3,15 @@ package cgeo.geocaching.export;
import cgeo.CGeoTestCase;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.LogEntry;
+import cgeo.geocaching.cgData;
+import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.enumerations.LogType;
+import cgeo.geocaching.geopoint.Geopoint;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
public class ExportTest extends CGeoTestCase {
@@ -16,4 +24,48 @@ public class ExportTest extends CGeoTestCase {
assertEquals("Non matching export " + logStr.toString(), "GCX1234,2012-11-18T13:20:20Z,Found it,\"Hidden in a tree\"\n", logStr.toString());
}
+ public static void testGpxExportSmilies() {
+ final Geocache cache = new Geocache();
+ cache.setGeocode("GCX1234");
+ cache.setCoords(new Geopoint("N 49 44.000 E 8 37.000"));
+ final LogEntry log = new LogEntry(1353244820000L, LogType.FOUND_IT, "Smile: \ud83d\ude0a");
+ cache.getLogs().add(log);
+ cgData.saveCache(cache, LoadFlags.SAVE_ALL);
+ ArrayList<Geocache> exportList = new ArrayList<Geocache>();
+ exportList.add(cache);
+ GpxExportTester gpxExport = new GpxExportTester();
+ File result = null;
+ try {
+ result = gpxExport.testExportSync(exportList);
+ } catch (InterruptedException e) {
+ fail(e.getCause().toString());
+ } catch (ExecutionException e) {
+ fail(e.getCause().toString());
+ } finally {
+ cgData.removeCache(cache.getGeocode(), LoadFlags.REMOVE_ALL);
+ }
+
+ assertNotNull(result);
+
+ result.delete();
+ }
+
+ private static class GpxExportTester extends GpxExport {
+
+ protected GpxExportTester() {
+ super();
+ }
+
+ public File testExportSync(List<Geocache> caches) throws InterruptedException, ExecutionException {
+ final ArrayList<String> geocodes = new ArrayList<String>(caches.size());
+ for (final Geocache cache: caches) {
+ geocodes.add(cache.getGeocode());
+ }
+ final ExportTask task = new ExportTask(null);
+ task.execute(geocodes.toArray(new String[geocodes.size()]));
+ return task.get();
+ }
+
+ }
+
}