diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2013-04-07 13:35:30 +0200 |
---|---|---|
committer | Samuel Tardieu <sam@rfc1149.net> | 2013-04-07 13:46:01 +0200 |
commit | 29b9c9bcb06cb19f39ead0184b05ae8c96eda9cb (patch) | |
tree | 97fc1156426c0b623ff0a53de0c4fda8a7c89473 /tests/src/cgeo | |
parent | c1b68d1b4b5d73afe60dcbbe03e9d3fd12f428b0 (diff) | |
parent | 37c90405dff48b5996fc8103e071fcd9c54f7a21 (diff) | |
download | cgeo-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.java | 52 |
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(); + } + + } + } |