diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-10 12:19:17 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-10 12:19:17 -0500 |
| commit | 54cea453810d0a49d900de4c78acacd788770ef3 (patch) | |
| tree | 170be08c19ea74ce2c091857f994c4bfa6bb7160 /docs | |
| parent | 44f44fed9069280dd29d5ca428e6c9483abc22e9 (diff) | |
| download | dotemacs-54cea453810d0a49d900de4c78acacd788770ef3.tar.gz dotemacs-54cea453810d0a49d900de4c78acacd788770ef3.zip | |
test(vterm): cover the copy-mode exit chain end-to-end
The unit tests for the cursor-restoration hook only exercised the helper in isolation. The real integration -- toggling the minor mode and watching the hook fire as part of the chain -- wasn't covered. If `vterm-copy-mode-done' or `cj/vterm-copy-mode-cancel' broke their exit semantics (or our hook stopped firing on `vterm-copy-mode-hook'), the unit tests would still pass but the cursor would stay stuck on the bar in real use.
Add five integration tests that toggle the actual minor mode through stubbed `vterm--enter-copy-mode' / `vterm--exit-copy-mode' (so we don't need a live vterm process) and assert the cursor moves through the full lifecycle: nil -> bar on enter, bar -> killed-local on exit. Cover all three exit paths Craig hits in normal use:
- vterm-copy-mode -1 directly (the toggle)
- vterm-copy-mode-done with an active region (M-w / RET)
- vterm-copy-mode-done with no region (line-selection branch)
- cj/vterm-copy-mode-cancel (C-g / <escape>)
Plus a multi-cycle test so a regression in `kill-local-variable' handling shows up.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions
