Skip to content
This repository was archived by the owner on Jun 9, 2025. It is now read-only.

Commit ff28335

Browse files
committed
Add test for ical4j ServiceLoader without per-thread context class loader
1 parent 34f267b commit ff28335

File tree

2 files changed

+38
-3
lines changed

2 files changed

+38
-3
lines changed

lib/src/main/kotlin/at/bitfire/ical4android/util/AndroidTimeUtils.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
package at.bitfire.ical4android.util
88

99
import android.text.format.Time
10-
import at.bitfire.ical4android.Ical4Android
10+
import at.bitfire.ical4android.util.AndroidTimeUtils.androidifyTimeZone
11+
import at.bitfire.ical4android.util.AndroidTimeUtils.storageTzId
1112
import at.bitfire.ical4android.util.TimeApiExtensions.toLocalDate
1213
import at.bitfire.ical4android.util.TimeApiExtensions.toZonedDateTime
13-
import net.fortuna.ical4j.model.*
1414
import net.fortuna.ical4j.model.Date
15+
import net.fortuna.ical4j.model.DateList
16+
import net.fortuna.ical4j.model.DateTime
17+
import net.fortuna.ical4j.model.TemporalAmountAdapter
1518
import net.fortuna.ical4j.model.TimeZone
1619
import net.fortuna.ical4j.model.parameter.Value
1720
import net.fortuna.ical4j.model.property.DateListProperty
@@ -27,7 +30,8 @@ import java.time.ZoneOffset
2730
import java.time.ZonedDateTime
2831
import java.time.format.DateTimeFormatter
2932
import java.time.temporal.TemporalAmount
30-
import java.util.*
33+
import java.util.LinkedList
34+
import java.util.Locale
3135
import java.util.logging.Logger
3236

3337
object AndroidTimeUtils {
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package at.bitfire.ical4android
2+
3+
import net.fortuna.ical4j.data.CalendarBuilder
4+
import net.fortuna.ical4j.model.Component
5+
import net.fortuna.ical4j.model.component.VEvent
6+
import org.junit.Assert.assertEquals
7+
import org.junit.Test
8+
import java.io.StringReader
9+
10+
class Ical4jServiceLoaderTest {
11+
12+
@Test
13+
fun Ical4j_ServiceLoader_DoesntNeedContextClassLoader() {
14+
Thread.currentThread().contextClassLoader = null
15+
16+
val iCal = "BEGIN:VCALENDAR\n" +
17+
"PRODID:-//xyz Corp//NONSGML PDA Calendar Version 1.0//EN\n" +
18+
"VERSION:2.0\n" +
19+
"BEGIN:VEVENT\n" +
20+
21+
"DTSTART:19960918T143000Z\n" +
22+
"DTEND:19960920T220000Z\n" +
23+
"SUMMARY:Networld+Interop Conference\n" +
24+
"END:VEVENT\n" +
25+
"END:VCALENDAR\n"
26+
val result = CalendarBuilder().build(StringReader(iCal))
27+
val vEvent = result.getComponent<VEvent>(Component.VEVENT)
28+
assertEquals("Networld+Interop Conference", vEvent.summary.value)
29+
}
30+
31+
}

0 commit comments

Comments
 (0)