@@ -26,6 +26,7 @@ import androidx.compose.ui.events.keyEvent
2626import kotlin.test.Test
2727import kotlin.test.assertIs
2828import org.w3c.dom.HTMLTextAreaElement
29+ import androidx.compose.ui.platform.InputEvent as InputEventDetailed
2930
3031internal interface СompositeInputTestSpec : TextFieldTestSpec {
3132
@@ -77,6 +78,26 @@ internal interface ChromeCompositeInput : СompositeInputTestSpec {
7778 keyEvent(compositionInput, type = " keyup" )
7879 )
7980 }
81+
82+ @Test
83+ fun `input hangul-hol` () = runApplicationTest {
84+ val textFieldValue = createApplicationWithHolder()
85+ eventsSequence(
86+ compositionStart(),
87+ keyEvent(key= " ㅎ" , code = " KeyG" , keyCode = 229 ),
88+ beforeInput(inputType = " compositionStart" , data = " null" ),
89+ keyEvent(key= " ㅎ" , code = " KeyG" , keyCode = 71 , type = " keyup" , isComposing = true ),
90+ keyEvent(key= " ㅗ" , code = " KeyH" , keyCode = 229 ),
91+ beforeInput(inputType = " insertCompositionText" , data = " 호" ),
92+ keyEvent(key= " ㅗ" , code = " KeyH" , keyCode = 72 , type = " keyup" , isComposing = true ),
93+ keyEvent(key= " ㄹ" , code = " KeyF" , keyCode = 229 ),
94+ beforeInput(inputType = " insertCompositionText" , data = " 홀" ),
95+ keyEvent(key= " ㄹ" , code = " KeyF" , keyCode = 70 , type = " keyup" , isComposing = true ),
96+ ).sendToHtmlInput()
97+
98+ textFieldValue.awaitAndAssertTextEquals(" 홀" )
99+ }
100+
80101}
81102
82103internal interface FirefoxCompositeInput : СompositeInputTestSpec {
@@ -147,7 +168,7 @@ internal interface WinCompositeInput : СompositeInputTestSpec {
147168 }
148169
149170 @Test
150- fun `input korean -hol` () = runApplicationTest {
171+ fun `input hangul -hol` () = runApplicationTest {
151172 val textFieldValue = createApplicationWithHolder()
152173 compositionStart(" g" , " ㅎ" )
153174 .compositionUpdate(" h" , " 호" )
@@ -216,6 +237,26 @@ internal interface IosCompositeInput : СompositeInputTestSpec {
216237 compositionEnd(typedKey),
217238 )
218239 }
240+
241+ @Test
242+ fun `input hangul-hol` () = runApplicationTest {
243+ val textFieldValue = createApplicationWithHolder()
244+ eventsSequence(
245+ keyEvent(key= " ㅎ" , code = " Unidentified" , keyCode = 0 ),
246+ beforeInput(" insertText" , data = " ㅎ" , isComposing = false ),
247+ keyEvent(key= " ㅎ" , code = " Unidentified" , keyCode = 0 , type = " keyup" ),
248+ keyEvent(key= " ㅗ" , code = " Unidentified" , keyCode = 0 ),
249+ beforeInput(" deleteContentBackward" , data = null , isComposing = false ),
250+ beforeInput(" insertText" , data = " 호" , isComposing = false ),
251+ keyEvent(key= " ㅗ" , code = " Unidentified" , keyCode = 0 , type = " keyup" ),
252+ keyEvent(key= " ㄹ" , code = " Unidentified" , keyCode = 0 ),
253+ beforeInput(" deleteContentBackward" , data = null , isComposing = false ),
254+ beforeInput(" insertText" , data = " 홀" , isComposing = false ),
255+ keyEvent(key= " ㄹ" , code = " Unidentified" , keyCode = 0 , type = " keyup" )
256+ ).sendToHtmlInput()
257+
258+ textFieldValue.awaitAndAssertTextEquals(" 홀" )
259+ }
219260}
220261
221262internal interface AndroidCompositeInput : СompositeInputTestSpec {
@@ -252,7 +293,7 @@ internal interface AndroidCompositeInput : СompositeInputTestSpec {
252293 }
253294
254295 @Test
255- fun `input korean -hol` () = runApplicationTest {
296+ fun `input hangul -hol` () = runApplicationTest {
256297 val textFieldValue = createApplicationWithHolder()
257298 compositionStart(" g" , " ㅎ" )
258299 .compositionUpdate(" h" , " 호" )
0 commit comments