Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bitfireAT/ical4android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/androidTest/java/at/bitfire/ical4android/AndroidCompatTimeZoneRegistryTest.kt')
-rw-r--r--src/androidTest/java/at/bitfire/ical4android/AndroidCompatTimeZoneRegistryTest.kt70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/androidTest/java/at/bitfire/ical4android/AndroidCompatTimeZoneRegistryTest.kt b/src/androidTest/java/at/bitfire/ical4android/AndroidCompatTimeZoneRegistryTest.kt
new file mode 100644
index 0000000..5958e16
--- /dev/null
+++ b/src/androidTest/java/at/bitfire/ical4android/AndroidCompatTimeZoneRegistryTest.kt
@@ -0,0 +1,70 @@
+/***************************************************************************************************
+ * Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
+ **************************************************************************************************/
+
+package at.bitfire.ical4android
+
+import net.fortuna.ical4j.model.DefaultTimeZoneRegistryFactory
+import net.fortuna.ical4j.model.TimeZoneRegistry
+import org.junit.Assert.*
+import org.junit.Assume
+import org.junit.Before
+import org.junit.Test
+import java.time.ZoneId
+import java.time.zone.ZoneRulesException
+
+class AndroidCompatTimeZoneRegistryTest {
+
+ lateinit var ical4jRegistry: TimeZoneRegistry
+ lateinit var registry: TimeZoneRegistry
+
+ val systemKnowsKyiv =
+ try {
+ ZoneId.of("Europe/Kyiv")
+ true
+ } catch (e: ZoneRulesException) {
+ false
+ }
+
+ @Before
+ fun createRegistry() {
+ ical4jRegistry = DefaultTimeZoneRegistryFactory.getInstance().createRegistry()
+ registry = AndroidCompatTimeZoneRegistry.Factory().createRegistry()
+ }
+
+
+ @Test
+ fun getTimeZone_Existing() {
+ assertEquals(
+ ical4jRegistry.getTimeZone("Europe/Vienna"),
+ registry.getTimeZone("Europe/Vienna")
+ )
+ }
+
+ @Test
+ fun getTimeZone_Existing_Kiev() {
+ Assume.assumeFalse(systemKnowsKyiv)
+ val tz = registry.getTimeZone("Europe/Kiev")
+ assertFalse(tz === ical4jRegistry.getTimeZone("Europe/Kiev")) // we have made a copy
+ assertEquals("Europe/Kiev", tz?.id)
+ assertEquals("Europe/Kiev", tz?.vTimeZone?.timeZoneId?.value)
+ }
+
+ @Test
+ fun getTimeZone_Existing_Kyiv() {
+ Assume.assumeFalse(systemKnowsKyiv)
+
+ /* Unfortunately, AndroidCompatTimeZoneRegistry can't rewrite to Europy/Kyiv to anything because
+ it doesn't know a valid Android name for it. */
+ assertEquals(
+ ical4jRegistry.getTimeZone("Europe/Kyiv"),
+ registry.getTimeZone("Europe/Kyiv")
+ )
+ }
+
+ @Test
+ fun getTimeZone_NotExisting() {
+ assertNull(registry.getTimeZone("Test/NotExisting"))
+ }
+
+} \ No newline at end of file