Skip to content

Commit f9b3622

Browse files
Merge pull request #10 from word-view/ignore-casing-on-bytag
Ignore tag casing on `byTag` method
2 parents 955876a + 72de0cc commit f9b3622

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

src/main/kotlin/cc/wordview/gengolex/Language.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ enum class Language(val tag: String, val dictionaryName: String, val tokenizer:
2828
@Throws(LanguageNotFoundException::class)
2929
fun byTag(tag: String): Language {
3030
for (lang in Language.entries) {
31-
if (lang.tag == tag) return lang
31+
if (lang.tag == tag.lowercase()) return lang
3232
}
3333

3434
throw LanguageNotFoundException("Unable to find a language for the tag: $tag")

src/test/kotlin/LanguageTest.kt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,33 @@ class LanguageTest {
3434
}
3535
}
3636

37+
@Test
38+
fun getEnglish_byTag_DifferentCasing() {
39+
assertDoesNotThrow {
40+
val lang = Language.byTag("eN")
41+
assertEquals(Language.ENGLISH, lang)
42+
assertEquals("english", lang.dictionaryName)
43+
}
44+
}
45+
46+
@Test
47+
fun getJapanese_byTag_DifferentCasing() {
48+
assertDoesNotThrow {
49+
val lang = Language.byTag("Ja")
50+
assertEquals(Language.JAPANESE, lang)
51+
assertEquals("kanji", lang.dictionaryName)
52+
}
53+
}
54+
55+
@Test
56+
fun getPortuguese_byTag_DifferentCasing() {
57+
assertDoesNotThrow {
58+
val lang = Language.byTag("PT")
59+
assertEquals(Language.PORTUGUESE, lang)
60+
assertEquals("portuguese", lang.dictionaryName)
61+
}
62+
}
63+
3764
@Test
3865
fun getInexistent_byTag() {
3966
assertThrows<LanguageNotFoundException> {

0 commit comments

Comments
 (0)