thefrontside / thefrontside/interactors

What level of simulation should be in Keyboard interactor?

Open
#186 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
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/Arrows to move the cursor in a text field to later insert some text. Should Keyboard interactor be responsible for the selectionRage or not?
  • Using Enter for submitting a form if it is on a page.
  • Removing characters from a field by using Backspace/Delete keys.
  • Using PageUp/Down for the scrolling a page.
  • Supporting case with testing clipboard logic, like user selects a part of the text on page, hits Ctrl+C and 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.