Skip to content

Commit 5c40248

Browse files
authored
fix: apply changes before input event (#622)
* fix: apply selection on input event * fix: use selection helper for arrows * fix: apply changes before input event * test: update tests * test: reproduce #515
1 parent 0882e4d commit 5c40248

File tree

9 files changed

+125
-168
lines changed

9 files changed

+125
-168
lines changed

src/__tests__/clear.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ test('clears text', () => {
2424
input[value="hello"] - select
2525
input[value="hello"] - keydown: Delete (46)
2626
input[value=""] - input
27-
"{SELECTION}hello{/SELECTION}" -> "{CURSOR}"
2827
input[value=""] - keyup: Delete (46)
2928
`)
3029
})

src/__tests__/keyboard/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ it('continue typing with state', () => {
130130
input[value=""] - keydown: F (70) {shift}
131131
input[value=""] - keypress: F (70) {shift}
132132
input[value="F"] - input
133-
"{CURSOR}" -> "F{CURSOR}"
134133
input[value="F"] - keyup: F (70) {shift}
135134
input[value="F"] - keyup: Shift (16)
136135
`)

src/__tests__/keyboard/plugin/functional.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,10 @@ test('backspace to valid value', () => {
5454
input[value=""] - keydown: 5 (53)
5555
input[value=""] - keypress: 5 (53)
5656
input[value="5"] - input
57-
"{CURSOR}" -> "{CURSOR}5"
5857
input[value="5"] - keyup: 5 (53)
5958
input[value="5"] - keydown: e (101)
6059
input[value="5"] - keypress: e (101)
6160
input[value=""] - input
62-
"{CURSOR}5" -> "{CURSOR}"
6361
input[value=""] - keyup: e (101)
6462
input[value=""] - keydown: - (45)
6563
input[value=""] - keypress: - (45)
@@ -70,7 +68,6 @@ test('backspace to valid value', () => {
7068
input[value=""] - keyup: Backspace (8)
7169
input[value=""] - keydown: Backspace (8)
7270
input[value="5"] - input
73-
"{CURSOR}" -> "{CURSOR}5"
7471
input[value="5"] - keyup: Backspace (8)
7572
`)
7673
})

src/__tests__/type-modifiers.js

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,9 @@ test('a{backspace}', () => {
6363
input[value=""] - keydown: a (97)
6464
input[value=""] - keypress: a (97)
6565
input[value="a"] - input
66-
"{CURSOR}" -> "a{CURSOR}"
6766
input[value="a"] - keyup: a (97)
6867
input[value="a"] - keydown: Backspace (8)
6968
input[value=""] - input
70-
"a{CURSOR}" -> "{CURSOR}"
7169
input[value=""] - keyup: Backspace (8)
7270
`)
7371
})
@@ -96,7 +94,6 @@ test('{backspace}a', () => {
9694
input[value=""] - keydown: a (97)
9795
input[value=""] - keypress: a (97)
9896
input[value="a"] - input
99-
"{CURSOR}" -> "a{CURSOR}"
10097
input[value="a"] - keyup: a (97)
10198
`)
10299
})
@@ -125,9 +122,8 @@ test('{backspace} triggers typing the backspace character and deletes the charac
125122
input[value="yo"] - mouseup: Left (0)
126123
input[value="yo"] - click: Left (0)
127124
input[value="yo"] - keydown: Backspace (8)
128-
input[value="o"] - input
129-
"y{CURSOR}o" -> "o{CURSOR}"
130125
input[value="o"] - select
126+
input[value="o"] - input
131127
input[value="o"] - keyup: Backspace (8)
132128
`)
133129
})
@@ -214,9 +210,8 @@ test('{backspace} deletes the selected range', () => {
214210
input[value="Hi there"] - mouseup: Left (0)
215211
input[value="Hi there"] - click: Left (0)
216212
input[value="Hi there"] - keydown: Backspace (8)
217-
input[value="Here"] - input
218-
"H{SELECTION}i th{/SELECTION}ere" -> "Here{CURSOR}"
219213
input[value="Here"] - select
214+
input[value="Here"] - input
220215
input[value="Here"] - keyup: Backspace (8)
221216
`)
222217
})
@@ -282,7 +277,6 @@ test('{meta}a{/meta}', () => {
282277
input[value=""] - keydown: a (97) {meta}
283278
input[value=""] - keypress: a (97) {meta}
284279
input[value="a"] - input
285-
"{CURSOR}" -> "a{CURSOR}"
286280
input[value="a"] - keyup: a (97) {meta}
287281
input[value="a"] - keyup: Meta (93)
288282
`)
@@ -341,7 +335,6 @@ test('{shift}a{/shift}', () => {
341335
input[value=""] - keydown: a (97) {shift}
342336
input[value=""] - keypress: a (97) {shift}
343337
input[value="a"] - input
344-
"{CURSOR}" -> "a{CURSOR}"
345338
input[value="a"] - keyup: a (97) {shift}
346339
input[value="a"] - keyup: Shift (16)
347340
`)
@@ -374,7 +367,6 @@ test('{capslock}a{capslock}', () => {
374367
input[value=""] - keydown: a (97)
375368
input[value=""] - keypress: a (97)
376369
input[value="a"] - input
377-
"{CURSOR}" -> "a{CURSOR}"
378370
input[value="a"] - keyup: a (97)
379371
input[value="a"] - keydown: CapsLock (20)
380372
input[value="a"] - keyup: CapsLock (20)
@@ -405,7 +397,6 @@ test('a{enter}', () => {
405397
input[value=""] - keydown: a (97)
406398
input[value=""] - keypress: a (97)
407399
input[value="a"] - input
408-
"{CURSOR}" -> "a{CURSOR}"
409400
input[value="a"] - keyup: a (97)
410401
input[value="a"] - keydown: Enter (13)
411402
input[value="a"] - keypress: Enter (13)
@@ -673,7 +664,6 @@ test('{space} on an input', () => {
673664
input[value=""] - keydown: (32)
674665
input[value=""] - keypress: (32)
675666
input[value=" "] - input
676-
"{CURSOR}" -> " {CURSOR}"
677667
input[value=" "] - keyup: (32)
678668
`)
679669
})
@@ -792,7 +782,6 @@ test('{enter} on a textarea', () => {
792782
textarea[value=""] - keydown: Enter (13)
793783
textarea[value=""] - keypress: Enter (13)
794784
textarea[value="\\n"] - input
795-
"{CURSOR}" -> "\\n{CURSOR}"
796785
textarea[value="\\n"] - keyup: Enter (13)
797786
`)
798787
})
@@ -976,9 +965,8 @@ test('{del} at the start of the input', () => {
976965
input[value="hello"] - mouseup: Left (0)
977966
input[value="hello"] - click: Left (0)
978967
input[value="hello"] - keydown: Delete (46)
979-
input[value="ello"] - input
980-
"{CURSOR}hello" -> "ello{CURSOR}"
981968
input[value="ello"] - select
969+
input[value="ello"] - input
982970
input[value="ello"] - keyup: Delete (46)
983971
`)
984972
})
@@ -1040,9 +1028,8 @@ test('{del} in the middle of the input', () => {
10401028
input[value="hello"] - click: Left (0)
10411029
input[value="hello"] - select
10421030
input[value="hello"] - keydown: Delete (46)
1043-
input[value="helo"] - input
1044-
"he{CURSOR}llo" -> "helo{CURSOR}"
10451031
input[value="helo"] - select
1032+
input[value="helo"] - input
10461033
input[value="helo"] - keyup: Delete (46)
10471034
`)
10481035
})
@@ -1075,9 +1062,8 @@ test('{del} with a selection range', () => {
10751062
input[value="hello"] - click: Left (0)
10761063
input[value="hello"] - select
10771064
input[value="hello"] - keydown: Delete (46)
1078-
input[value="hlo"] - input
1079-
"h{SELECTION}el{/SELECTION}lo" -> "hlo{CURSOR}"
10801065
input[value="hlo"] - select
1066+
input[value="hlo"] - input
10811067
input[value="hlo"] - keyup: Delete (46)
10821068
`)
10831069
})
@@ -1165,7 +1151,6 @@ test('modifiers will not be closed if skipAutoClose is enabled', () => {
11651151
input[value=""] - keydown: a (97) {meta}
11661152
input[value=""] - keypress: a (97) {meta}
11671153
input[value="a"] - input
1168-
"{CURSOR}" -> "a{CURSOR}"
11691154
input[value="a"] - keyup: a (97) {meta}
11701155
`)
11711156
})

0 commit comments

Comments
 (0)