diff --git a/e2e-tests/editor.spec.ts b/e2e-tests/editor.spec.ts index 8b234c205..d8a8d80a1 100644 --- a/e2e-tests/editor.spec.ts +++ b/e2e-tests/editor.spec.ts @@ -10,9 +10,10 @@ test('keyboard related issues', async ({ page }) => { await page.type(':nth-match(textarea, 1)', "【") await page.type(':nth-match(textarea, 1)', ' | with events: ') + await page.type(':nth-match(textarea, 1)', "【") await press_with_events(page, ':nth-match(textarea, 1)', macos_pinyin_left_full_bracket) + await page.type(':nth-match(textarea, 1)', "【") await press_with_events(page, ':nth-match(textarea, 1)', macos_pinyin_left_full_bracket) - await page.pause() }) test('hashtag and quare brackets in same line #4178', async ({ page }) => { diff --git a/e2e-tests/util/keyboard-event-cap.html b/e2e-tests/util/keyboard-event-cap.html new file mode 100644 index 000000000..71cb0223b --- /dev/null +++ b/e2e-tests/util/keyboard-event-cap.html @@ -0,0 +1,58 @@ + + + + + + + + + +

Key Down

+

+ + + \ No newline at end of file diff --git a/e2e-tests/util/keyboard-events.ts b/e2e-tests/util/keyboard-events.ts index 7a2239091..cbbdd2e4e 100644 --- a/e2e-tests/util/keyboard-events.ts +++ b/e2e-tests/util/keyboard-events.ts @@ -1,55 +1,43 @@ // typing 【 -export let press_with_events = async function (page, selector, { typedown, keyboard_events }){ - await page.type(selector, typedown) +export let press_with_events = async function (page, selector, keyboard_events ){ for (let idx in keyboard_events){ - let ev = keyboard_events[idx] - await page.dispatchEvent(selector, ev["type"], ev) + let { event_type, event } = keyboard_events[idx] + await page.dispatchEvent(selector, event_type, event) await page.waitForTimeout(100) } } -export let macos_pinyin_left_full_bracket = { - "typedown": "【", - "keyboard_events": [{ - "altKey": false, - "charCode": 0, - "ctrlKey": false, - "code": "BracketLeft", - "composed": true, - "detail": 0, - "event_": { - "code": "BracketLeft", - "isComposing": false, - "composed": true - }, - "isComposing": false, - "isTrusted": true, - "key": "【", - "keyCode": 219, - "metaKey": false, - "repeat": false, - "returnValue": true, - "shiftKey": false, - "type": "keydown", - "which": 219, - "platformModifierKey": false - }, { - "altKey": false, - "charCode": 0, - "ctrlKey": false, - "event_": { - "code": "BracketLeft", - "isComposing": false, - "composed": true - }, - "key": "【", - "keyCode": 219, - "metaKey": false, - "repeat": false, - "shiftKey": false, - "type": "keyup", - "platformModifierKey": false +export let macos_pinyin_left_full_bracket = [ + { + "event_type": "keydown", + "event": { + "key": "【", + "code": "BracketLeft", + "location": 0, + "ctrlKey": false, + "shiftKey": false, + "altKey": false, + "metaKey": false, + "repeat": false, + "isComposing": false, + "composed": true } -]} + }, + { + "event_type": "keyup", + "event": { + "key": "【", + "code": "BracketLeft", + "location": 0, + "ctrlKey": false, + "shiftKey": false, + "altKey": false, + "metaKey": false, + "repeat": false, + "isComposing": false, + "composed": true + } + } +] \ No newline at end of file