Skip to content

Commit e6f1786

Browse files
committed
test: Test for processLinguisticSuggestions
1 parent 5445632 commit e6f1786

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

app/src/androidTest/kotlin/be/scri/helpers/KeyboardTest.kt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
package be.scri.ui
33

44
import android.view.inputmethod.InputConnection
5+
import android.widget.Button
56
import androidx.test.ext.junit.runners.AndroidJUnit4
67
import be.scri.helpers.KeyHandler
78
import be.scri.helpers.KeyboardBase
9+
import be.scri.helpers.SuggestionHandler
810
import be.scri.services.GeneralKeyboardIME
911
import be.scri.services.GeneralKeyboardIME.ScribeState
1012
import io.mockk.every
@@ -19,6 +21,10 @@ class KeyboardTest {
1921
private lateinit var mockIME: GeneralKeyboardIME
2022
private lateinit var mockInputConnection: InputConnection
2123
private lateinit var keyHandler: KeyHandler
24+
private lateinit var suggestionHandler: SuggestionHandler
25+
private lateinit var translateBtn: Button
26+
private lateinit var conjugateBtn: Button
27+
private lateinit var pluralBtn: Button
2228

2329
@Before
2430
fun setUp() {
@@ -28,8 +34,16 @@ class KeyboardTest {
2834
every { mockIME.currentInputConnection } returns mockInputConnection
2935
every { mockIME.keyboard } returns mockk(relaxed = true)
3036
every { mockIME.currentState } returns ScribeState.IDLE
37+
every { mockIME.language } returns "German"
3138

3239
keyHandler = KeyHandler(mockIME)
40+
suggestionHandler = SuggestionHandler(mockIME)
41+
translateBtn = mockk(relaxed = true)
42+
conjugateBtn = mockk(relaxed = true)
43+
pluralBtn = mockk(relaxed = true)
44+
every { mockIME.binding.translateBtn } returns translateBtn
45+
every { mockIME.binding.conjugateBtn } returns conjugateBtn
46+
every { mockIME.binding.pluralBtn } returns pluralBtn
3347
}
3448

3549
@Test
@@ -59,4 +73,23 @@ class KeyboardTest {
5973
verify(exactly = 1) { mockIME.handleDelete(false) }
6074
verify(exactly = 1) { mockInputConnection.deleteSurroundingText(1, 0) }
6175
}
76+
77+
@Test
78+
fun processSuggestions() {
79+
every { mockIME.findGenderForLastWord(any(), "in") } returns listOf("Neuter")
80+
every { mockIME.findWhetherWordIsPlural(any(), "in") } returns false
81+
every { mockIME.getCaseAnnotationForPreposition(any(), "in") } returns null
82+
83+
every { mockIME.updateAutoSuggestText(any(), any(), any(), any()) } answers {
84+
conjugateBtn.text = "der"
85+
pluralBtn.text = "den"
86+
translateBtn.text = "die"
87+
}
88+
89+
suggestionHandler.processLinguisticSuggestions("in")
90+
91+
verify { conjugateBtn.text = match { it.isNotEmpty() } }
92+
verify { pluralBtn.text = match { it.isNotEmpty() } }
93+
verify { translateBtn.text = match { it.isNotEmpty() } }
94+
}
6295
}

app/src/main/java/be/scri/services/GeneralKeyboardIME.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1358,7 +1358,7 @@ abstract class GeneralKeyboardIME(
13581358
if (!handled) disableAutoSuggest()
13591359
handleWordSuggestions(
13601360
wordSuggestions = wordSuggestions,
1361-
hasLinguisticSuggestions = hasLinguisticSuggestions
1361+
hasLinguisticSuggestions = hasLinguisticSuggestions,
13621362
)
13631363
}
13641364

0 commit comments

Comments
 (0)