blob: 81f91c1612907cb6ed492f0afbee531776159cc3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
/***************************************************************************************************
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
**************************************************************************************************/
package at.bitfire.ical4android
import net.fortuna.ical4j.model.property.TzOffsetFrom
import org.junit.AfterClass
import org.junit.Assert.assertEquals
import org.junit.BeforeClass
import org.junit.ComparisonFailure
import org.junit.Test
import java.time.ZoneOffset
import java.util.*
class LocaleNonWesternDigitsTest {
companion object {
val origLocale = Locale.getDefault()
val testLocale = Locale("fa", "ir", "u-un-arabext")
@BeforeClass
@JvmStatic
fun setFaIrArabLocale() {
assertEquals("Persian (Iran) locale not available", "fa", testLocale.language)
Locale.setDefault(testLocale)
}
@AfterClass
@JvmStatic
fun resetLocale() {
Locale.setDefault(origLocale)
}
}
@Test
fun testLocale_StringFormat() {
// does not fail if the Locale with Persian digits is available
assertEquals("۲۰۲۰", String.format("%d", 2020))
}
@Test
fun testLocale_StringFormat_Root() {
assertEquals("2020", String.format(Locale.ROOT, "%d", 2020))
}
@Test(expected = ComparisonFailure::class) // should not fail in future
fun testLocale_ical4j() {
val offset = TzOffsetFrom(ZoneOffset.ofHours(1))
val iCal = offset.toString()
assertEquals("TZOFFSETFROM:+0100\r\n", iCal) // fails: is "TZOFFSETFROM:+۰۱۰۰\r\n" instead
}
}
|