thefrontside / thefrontside/interactors
What level of simulation should be in Keyboard interactor?
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36
- Forks
- 2
- Avg merge
- 4m
- Merged PRs (30d)
- 2
Description
For the this moment Keyboard interactor allows to type some characters and simulates keyDown and keyUp events for the most possible keys. But there might be different scenarios where Keyboard interactor doesn't work well or doesn't support at all. For example:
- Using functional keys, like
Home/End/Arrowsto move the cursor in a text field to later insert some text. Should Keyboard interactor be responsible for theselectionRageor not? - Using
Enterfor submitting a form if it is on a page. - Removing characters from a field by using
Backspace/Deletekeys. - Using
PageUp/Downfor the scrolling a page. - Supporting case with testing clipboard logic, like user selects a part of the text on page, hits
Ctrl+Cand then pastes it somewhere. Should it be specific Clipboard interactor for it? - Changing the focus by the Tab.
I mean all cases that supported by a browser in the native way, when you don't need a specific onKeyDown handler.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the Keyboard interactor and its current keyDown, keyUp, and character-typing behavior. Compare the listed native browser cases, including selection, form submission, deletion, scrolling, clipboard use, and focus changes, then define the supported scope and whether clipboard behavior belongs in a separate interactor.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100