1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package de.aikiit.fotorenamer.util;
17
18 import org.junit.jupiter.api.Test;
19
20 import java.util.Locale;
21
22 import static de.aikiit.fotorenamer.util.LocalizationHelper.*;
23 import static org.junit.jupiter.api.Assertions.assertEquals;
24
25
26
27
28
29
30
31 public class LocalizationHelperTest {
32
33
34
35
36 @Test
37 void checkValueRetrievingFromBundle() {
38 assertEquals("Fortschritt", getBundleString("fotorenamer.ui.progress"));
39 }
40
41
42
43
44 @SuppressWarnings("RedundantArrayCreation")
45 @Test
46 void checkParametrizedValueExtraction() {
47 assertEquals("Erfolg und dann folgt noch die 7", getParameterizedBundleString("fotorenamer.test.param",
48 "Erfolg", 7));
49
50 assertEquals("{0} und dann folgt noch die {1}", getParameterizedBundleString("fotorenamer.test.param",
51 new Object[]{}));
52 }
53
54 @Test
55 void fallbackLocale() {
56
57 System.setProperty("user.language", "");
58 System.setProperty("user.country", "");
59 setLocale();
60
61 assertEquals(Locale.GERMANY, getLocale());
62 assertEquals("de", getLanguage());
63 }
64
65 @Test
66 void setLocaleViaSystemProperties() {
67
68 final String french = "fr";
69 System.setProperty("user.language", french);
70 System.setProperty("user.country", "CA");
71 setLocale();
72
73 assertEquals(Locale.CANADA_FRENCH, getLocale());
74 assertEquals(french, getLanguage());
75 }
76
77 @Test
78 void umlautEncodingWorksCorrectly() {
79 assertEquals("ßäü", getBundleString("fotorenamer.test.umlauts"));
80 }
81
82 @Test
83 void unknownKey() {
84 String unknown = "abcde.unknown";
85 assertEquals(unknown, getBundleString(unknown));
86 }
87 }