diff options
Diffstat (limited to 'tests')
7 files changed, 72 insertions, 13 deletions
diff --git a/tests/src/cgeo/geocaching/TrackableTest.java b/tests/src/cgeo/geocaching/TrackableTest.java index 2d9c773..a2d6471 100644 --- a/tests/src/cgeo/geocaching/TrackableTest.java +++ b/tests/src/cgeo/geocaching/TrackableTest.java @@ -19,12 +19,12 @@ public class TrackableTest extends AndroidTestCase { public static void testTrackableUrl() { final Trackable trackable = createTrackable("TB1234"); - assertThat(trackable.getUrl()).isEqualTo("http://www.geocaching.com//track/details.aspx?tracker=TB1234"); + assertThat(trackable.getBrowserUrl()).isEqualTo("http://www.geocaching.com//track/details.aspx?tracker=TB1234"); } public static void testGeokretUrl() { Trackable geokret = createTrackable("GK82A2"); - assertThat(geokret.getUrl()).isEqualTo("http://geokrety.org/konkret.php?id=33442"); + assertThat(geokret.getBrowserUrl()).isEqualTo("http://geokrety.org/konkret.php?id=33442"); } public static void testLoggable() { diff --git a/tests/src/cgeo/geocaching/apps/cache/WhereYouGoAppTest.java b/tests/src/cgeo/geocaching/apps/cache/WhereYouGoAppTest.java new file mode 100644 index 0000000..5290c35 --- /dev/null +++ b/tests/src/cgeo/geocaching/apps/cache/WhereYouGoAppTest.java @@ -0,0 +1,15 @@ +package cgeo.geocaching.apps.cache; + +import static org.assertj.core.api.Assertions.assertThat; + +import cgeo.geocaching.Geocache; + +import junit.framework.TestCase; + +public class WhereYouGoAppTest extends TestCase { + public static void testGetWhereIGoUrl() throws Exception { + Geocache cache = new Geocache(); + cache.setDescription("<p style=\"max-width:670px;\"><a href=\"http://www.wherigo.com/cartridge/details.aspx?CGUID=c4577c31-09e9-44f0-ae48-83737e57adbd\"><img class=\"InsideTable\""); + assertThat(WhereYouGoApp.getWhereIGoUrl(cache)).isEqualTo("http://www.wherigo.com/cartridge/details.aspx?CGUID=c4577c31-09e9-44f0-ae48-83737e57adbd"); + } +} diff --git a/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java b/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java index 8d80822..93b79c5 100644 --- a/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java +++ b/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java @@ -22,7 +22,7 @@ public class TravelBugConnectorTest extends TestCase { public static void testGetUrl() { final Trackable trackable = new Trackable(); trackable.setGeocode("TB2345"); - assertThat(getConnector().getUrl(trackable)).isEqualTo("http://www.geocaching.com//track/details.aspx?tracker=TB2345"); + assertThat(getConnector().getBrowserUrl(trackable)).isEqualTo("http://www.geocaching.com//track/details.aspx?tracker=TB2345"); } public static void testOnlineSearchBySecretCode() { diff --git a/tests/src/cgeo/geocaching/files/GPXParserTest.java b/tests/src/cgeo/geocaching/files/GPXParserTest.java index 08e2662..0f85109 100644 --- a/tests/src/cgeo/geocaching/files/GPXParserTest.java +++ b/tests/src/cgeo/geocaching/files/GPXParserTest.java @@ -320,7 +320,7 @@ public class GPXParserTest extends AbstractResourceInstrumentationTestCase { assertThat(waymark).isNotNull(); assertThat(waymark.getGeocode()).isEqualTo("WM7BM7"); assertThat(waymark.getName()).isEqualTo("Roman water pipe Kornwestheim"); - assertThat(StringUtils.isNotBlank(waymark.getUrl())).isTrue(); // connector must be able to create it + assertThat(StringUtils.isNotBlank(waymark.getBrowserUrl())).isTrue(); // connector must be able to create it assertThat(waymark.getType()).isEqualTo(CacheType.UNKNOWN); assertThat(waymark.getSize()).isEqualTo(CacheSize.UNKNOWN); } diff --git a/tests/src/cgeo/geocaching/geopoint/UnitsTest.java b/tests/src/cgeo/geocaching/geopoint/UnitsTest.java index acc964a..f208984 100644 --- a/tests/src/cgeo/geocaching/geopoint/UnitsTest.java +++ b/tests/src/cgeo/geocaching/geopoint/UnitsTest.java @@ -51,13 +51,13 @@ public class UnitsTest extends CGeoTestCase { TestSettings.setUseImperialUnits(false); assertSpeed("123 km/h", 122.782f); assertSpeed("123 km/h", 123.456f); - assertSpeed("12.3 km/h", 12.3456f); - assertSpeed("1.23 km/h", 1.23456f); - assertSpeed("123 m/h", 0.123456f); + assertSpeed("12 km/h", 12.3456f); + assertSpeed("1 km/h", 1.23456f); + assertSpeed("0 km/h", 0.123456f); TestSettings.setUseImperialUnits(true); - assertSpeed("76.7 mph", 123.456f); - assertSpeed("7.67 mph", 12.3456f); - assertSpeed("0.77 mph", 1.23456f); + assertSpeed("77 mph", 123.456f); + assertSpeed("8 mph", 12.3456f); + assertSpeed("1 mph", 1.23456f); } finally { TestSettings.setUseImperialUnits(savedImperial); } diff --git a/tests/src/cgeo/geocaching/settings/TestSettings.java b/tests/src/cgeo/geocaching/settings/TestSettings.java index 2e6809f..279f658 100644 --- a/tests/src/cgeo/geocaching/settings/TestSettings.java +++ b/tests/src/cgeo/geocaching/settings/TestSettings.java @@ -48,4 +48,8 @@ public final class TestSettings extends Settings { putString(R.string.pref_twitter_trackable_message, template); } + public static void setSignature(final String signature) { + putString(R.string.pref_signature, signature); + } + } diff --git a/tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java b/tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java index a7dcb2b..77832b0 100644 --- a/tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java +++ b/tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java @@ -2,6 +2,8 @@ package cgeo.geocaching.utils; import static org.assertj.core.api.Assertions.assertThat; +import cgeo.geocaching.settings.Settings; +import cgeo.geocaching.settings.TestSettings; import cgeo.geocaching.utils.LogTemplateProvider.LogContext; import java.util.Calendar; @@ -10,13 +12,51 @@ import junit.framework.TestCase; public class LogTemplateProviderTest extends TestCase { - public static void testApplyTemplates() { + public static void testApplyTemplatesNone() { final String noTemplates = " no templates "; - assertEquals(noTemplates, LogTemplateProvider.applyTemplates(noTemplates, new LogContext(null, null, true))); + final String signature = LogTemplateProvider.applyTemplates(noTemplates, new LogContext(null, null, true)); + assertThat(signature).isEqualTo(noTemplates); + } + public static void testApplyTemplates() { // This test can occasionally fail if the current year changes right after the next line. final String currentYear = Integer.toString(Calendar.YEAR); - assertThat(LogTemplateProvider.applyTemplates("[DATE]", new LogContext(null, null, true)).contains(currentYear)).isTrue(); + final String signature = LogTemplateProvider.applyTemplates("[DATE]", new LogContext(null, null, true)); + assertThat(signature).contains(currentYear); + } + + /** + * signature itself can contain templates, therefore nested applying is necessary + */ + public static void testApplySignature() { + String oldSignature = Settings.getSignature(); + try { + TestSettings.setSignature("[DATE]"); + String currentDate = LogTemplateProvider.applyTemplates(Settings.getSignature(), new LogContext(null, null, true)); + final String signatureTemplate = "Signature [SIGNATURE]"; + final String signature = LogTemplateProvider.applyTemplates(signatureTemplate, new LogContext(null, null, true)); + assertThat(signature).isEqualTo("Signature " + currentDate); + + final String currentYear = Integer.toString(Calendar.YEAR); + assertThat(signature).contains(currentYear); + } finally { + TestSettings.setSignature(oldSignature); + } + } + + /** + * signature must not contain itself as template + */ + public static void testApplyInvalidSignature() { + String oldSignature = Settings.getSignature(); + try { + final String signatureTemplate = "[SIGNATURE]"; + TestSettings.setSignature(signatureTemplate); + final String signature = LogTemplateProvider.applyTemplates(signatureTemplate, new LogContext(null, null, true)); + assertThat(signature).isEqualTo("invalid signature template"); + } finally { + TestSettings.setSignature(oldSignature); + } } } |
