mirror of https://github.com/logseq/logseq
test(e2e): keyboard event capture script
parent
75ab20e1e7
commit
e8aa586707
|
@ -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 }) => {
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
const keys = [
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent
|
||||
// without deprecated / non-standard
|
||||
"altKey", "code", "ctrlKey", "isComposing", "key", "locale", "location", "metaKey",
|
||||
"repeat", "shiftKey",
|
||||
// empiricial
|
||||
"composed"
|
||||
]
|
||||
|
||||
let output_list = [];
|
||||
|
||||
function select_keys(obj, keys) {
|
||||
let new_obj = {}
|
||||
for (let k in event)
|
||||
if (keys.indexOf(k) != -1)
|
||||
new_obj[k] = event[k]
|
||||
return new_obj
|
||||
}
|
||||
|
||||
let key_handler_builder = (event_type) => (event) => {
|
||||
if (event["target"].id != "input")
|
||||
return;
|
||||
let output = {
|
||||
"event_type": event_type,
|
||||
"event": select_keys(event, keys)
|
||||
}
|
||||
output_list.push(output);
|
||||
let to_print = JSON.stringify(
|
||||
output_list,
|
||||
undefined,
|
||||
2);
|
||||
document.getElementById("outputs").innerText = to_print;
|
||||
}
|
||||
|
||||
document.addEventListener('keydown', key_handler_builder('keydown'), false);
|
||||
document.addEventListener('keyup', key_handler_builder('keyup'), false);
|
||||
|
||||
window.onload = (e) => {
|
||||
document.getElementById("input").focus();
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<input id="input" />
|
||||
<h2>Key Down</h2>
|
||||
<p id="outputs" style="white-space: pre;" />
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -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
|
||||
}
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue