Language selection fixes (#2917)

* Fix duplicated language entries from system and app language sets.
Closes #2900

* Prefer modern language codes.
Closes #2903

* Synchronize per-account default posting language with server.
Closes #2902

* Allow users to post in languages android doesn't know about yet (e.g. toki pona)

* Always put the preselected language at the top of the list
This commit is contained in:
Levi Bard 2022-11-24 15:45:19 +01:00 committed by GitHub
commit 0126ee9500
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 1043 additions and 18 deletions

View file

@ -458,6 +458,23 @@ class ComposeActivityTest {
assertEquals(language, activity.selectedLanguage)
}
@Test
fun modernLanguageCodeIsUsed() {
// https://github.com/tuskyapp/Tusky/issues/2903
// "ji" was deprecated in favor of "yi"
composeOptions = ComposeActivity.ComposeOptions(language = "ji")
setupActivity()
assertEquals("yi", activity.selectedLanguage)
}
@Test
fun unknownLanguageGivenInComposeOptionsIsRespected() {
val language = "zzz"
composeOptions = ComposeActivity.ComposeOptions(language = language)
setupActivity()
assertEquals(language, activity.selectedLanguage)
}
private fun clickUp() {
val menuItem = RoboMenuItem(android.R.id.home)
activity.onOptionsItemSelected(menuItem)