Add proper test coverage
Is your feature request related to a problem? Please describe.
Every good piece of software has tests. We don't and it's a good chance to have them added.
Describe the solution you'd like
We could start with simple unit tests with the DOM API and terminal instance mocked. Assert DOM changes being made under different edge cases & conditions. Assert correct instance fields have been mutated & modified. Assert keyboard events performing what they should perform under different conditions, etc.
Additional context
Vitest should be used as a test runner since we're already on Vite. Here's a checklist:
- Write minimal tests covering everything in
src/api - Create an npm
testscript - Hook up into the test GH action workflow (after "Typecheck")
https://github.com/mkrl/ttty/blob/879d889df997c3b98f42b931bc9f2fc15468448c/.github/workflows/test.yml#L18-L19
Not a very trivial task, but we could start a discussion here and work on adding tests together.