source: josm/trunk/test/unit/org/openstreetmap/josm/tools/LanguageInfoTest.java@ 14811

Last change on this file since 14811 was 14811, checked in by Don-vip, 5 years ago

see #17380 - enable en_CA

File size: 3.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.tools;
3
4import java.util.Arrays;
5import java.util.List;
6import java.util.Locale;
7import java.util.stream.Collectors;
8import java.util.stream.Stream;
9
10import org.junit.Assert;
11import org.junit.Rule;
12import org.junit.Test;
13import org.openstreetmap.josm.testutils.JOSMTestRules;
14
15import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
16
17/**
18 * Unit tests of {@link LanguageInfo}.
19 */
20public class LanguageInfoTest {
21
22 /**
23 * Setup test.
24 */
25 @Rule
26 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
27 public JOSMTestRules test = new JOSMTestRules().i18n("ca@valencia");
28
29 private static final Locale EN_NZ = new Locale("en", "NZ");
30 private static final Locale DE_DE = Locale.GERMANY;
31 private static final Locale PT_BR = new Locale("pt", "BR");
32 private static final Locale CA_ES_VALENCIA = new Locale("ca", "ES", "valencia");
33 private static final Locale ZN_CN = Locale.SIMPLIFIED_CHINESE;
34 private static final Locale ZN_TW = Locale.TRADITIONAL_CHINESE;
35 private static final Locale EN_GB = Locale.UK;
36 private static final Locale RU = new Locale("ru");
37 private static final Locale NB = new Locale("nb");
38 private static final Locale AST = new Locale("ast");
39
40 /**
41 * Unit test of {@link LanguageInfo#getWikiLanguagePrefix}.
42 */
43 @Test
44 public void testWikiLanguagePrefix() {
45 testGetWikiLanguagePrefixes(LanguageInfo.LocaleType.DEFAULT,
46 "En:", "De:", "Pt_BR:", "Ca-Valencia:", "Zh_CN:", "Zh_TW:", "Ast:", "En_GB:", "Ru:", "Nb:");
47 testGetWikiLanguagePrefixes(LanguageInfo.LocaleType.DEFAULTNOTENGLISH,
48 null, "De:", "Pt_BR:", "Ca-Valencia:", "Zh_CN:", "Zh_TW:", "Ast:", "En_GB:", "Ru:", "Nb:");
49 testGetWikiLanguagePrefixes(LanguageInfo.LocaleType.BASELANGUAGE,
50 null, null, "Pt:", null, "Zh:", "Zh:", null, null, null, null);
51 testGetWikiLanguagePrefixes(LanguageInfo.LocaleType.ENGLISH,
52 "", "", "", "", "", "", "", "", "", "");
53 testGetWikiLanguagePrefixes(LanguageInfo.LocaleType.OSM_WIKI,
54 "", "DE:", "Pt:", "Ca:", "Zh-hans:", "Zh-hant:", "Ast:", "", "RU:", "No:");
55 }
56
57 private static void testGetWikiLanguagePrefixes(LanguageInfo.LocaleType type, String...expected) {
58 final List<String> actual = Stream.of(EN_NZ, DE_DE, PT_BR, CA_ES_VALENCIA, ZN_CN, ZN_TW, AST, EN_GB, RU, NB)
59 .map(locale -> LanguageInfo.getWikiLanguagePrefix(locale, type))
60 .collect(Collectors.toList());
61 Assert.assertEquals(Arrays.asList(expected), actual);
62 }
63
64 /**
65 * Unit test of {@link LanguageInfo#getJOSMLocaleCode}.
66 */
67 @Test
68 public void testGetJOSMLocaleCode() {
69 Assert.assertEquals("de", LanguageInfo.getJOSMLocaleCode(DE_DE));
70 Assert.assertEquals("pt_BR", LanguageInfo.getJOSMLocaleCode(PT_BR));
71 Assert.assertEquals("ca@valencia", LanguageInfo.getJOSMLocaleCode(CA_ES_VALENCIA));
72 }
73
74 /**
75 * Unit test of {@link LanguageInfo#getJavaLocaleCode}.
76 */
77 @Test
78 public void testGetJavaLocaleCode() {
79 Assert.assertEquals("ca__valencia", LanguageInfo.getJavaLocaleCode("ca@valencia"));
80 }
81
82 /**
83 * Unit test of {@link LanguageInfo#getLanguageCodeXML}.
84 */
85 @Test
86 public void testGetLanguageCodeXML() {
87 Assert.assertEquals("ca-valencia.", LanguageInfo.getLanguageCodeXML());
88 }
89
90 /**
91 * Unit test of {@link LanguageInfo#getLanguageCodeManifest}.
92 */
93 @Test
94 public void testGetLanguageCodeManifest() {
95 Assert.assertEquals("ca-valencia_", LanguageInfo.getLanguageCodeManifest());
96 }
97
98 /**
99 * Unit test of {@link LanguageInfo#getLanguageCodes}.
100 */
101 @Test
102 public void testGetLanguageCodes() {
103 Assert.assertEquals(Arrays.asList("ca_ES@valencia", "ca@valencia", "ca_ES", "ca"), LanguageInfo.getLanguageCodes(CA_ES_VALENCIA));
104 }
105}
Note: See TracBrowser for help on using the repository browser.