@@ -22,6 +22,7 @@ export default class ActionKeyboardFilterTests extends LogControllerTestCase {
2222 <button id="button8" data-action="keydown.a->a#log keydown.b->a#log2"></button>
2323 <button id="button9" data-action="keydown.shift+a->a#log keydown.a->a#log2 keydown.ctrl+shift+a->a#log3">
2424 <button id="button10" data-action="jquery.custom.event->a#log jquery.a->a#log2">
25+ <button id="button11" data-action="keydown.j->a#log"></button>
2526 </div>
2627 `
2728
@@ -197,4 +198,28 @@ export default class ActionKeyboardFilterTests extends LogControllerTestCase {
197198 await this . triggerEvent ( button , "jquery.a" )
198199 this . assertActions ( { name : "log2" , identifier : "a" , eventType : "jquery.a" , currentTarget : button } )
199200 }
201+
202+ // Cyrillic (Bulgarian, phonetic layout)
203+ async "test plain j key filter falls back to code for cyrillic key" ( ) {
204+ const button = this . findElement ( "#button11" )
205+ await this . nextFrame
206+ await this . triggerKeyboardEvent ( button , "keydown" , { key : "й" , code : "KeyJ" } )
207+ this . assertActions ( { name : "log" , identifier : "a" , eventType : "keydown" , currentTarget : button } )
208+ }
209+
210+ // Greek
211+ async "test plain j key filter falls back to code for greek key" ( ) {
212+ const button = this . findElement ( "#button11" )
213+ await this . nextFrame
214+ await this . triggerKeyboardEvent ( button , "keydown" , { key : "ξ" , code : "KeyJ" } )
215+ this . assertActions ( { name : "log" , identifier : "a" , eventType : "keydown" , currentTarget : button } )
216+ }
217+
218+ // Hebrew
219+ async "test plain j key filter falls back to code for hebrew key" ( ) {
220+ const button = this . findElement ( "#button11" )
221+ await this . nextFrame
222+ await this . triggerKeyboardEvent ( button , "keydown" , { key : "ח" , code : "KeyJ" } )
223+ this . assertActions ( { name : "log" , identifier : "a" , eventType : "keydown" , currentTarget : button } )
224+ }
200225}
0 commit comments