summaryrefslogtreecommitdiff
path: root/test/snapshots/ttyedit.snap
diff options
context:
space:
mode:
Diffstat (limited to 'test/snapshots/ttyedit.snap')
-rw-r--r--test/snapshots/ttyedit.snap45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/snapshots/ttyedit.snap b/test/snapshots/ttyedit.snap
new file mode 100644
index 00000000..18872ce4
--- /dev/null
+++ b/test/snapshots/ttyedit.snap
@@ -0,0 +1,45 @@
+# editing a shell pane exactly like a document: Enter SPLITS the line under
+# the cursor and pushes the shell rows below it down, `o` opens a fresh line,
+# and backspace at column 0 joins back up. Before the edit buffer landed a
+# terminal could only splice single-row insertion runs, so none of this was
+# expressible. test/hxcases/parity.jsonl pins the keystroke-level equivalence
+# with a file pane case for case; this is the end-to-end pty proof.
+file words.txt alpha beta
+start 30 100 -n 3
+wait 8000 words.txt
+stable 700 20000
+key c-b
+stable 600 8000
+text printf 'one two three\nfour five six\nseven eight nine\n'
+key enter
+wait 8000 seven
+stable 700 10000
+key c-b
+stable 600 8000
+# click into the middle of the first output row
+press left 8 7
+release left 8 7
+stable 400 5000
+snap before
+# Enter splits the row there: "one t" stays, "wo three" becomes a real line
+# of its own and the two output rows below it slide down
+key i enter
+stable 400 5000
+snap split
+key esc
+stable 400 5000
+# `o` opens a line below the split's tail and pushes the rest down again
+key o
+text OPEN
+key esc
+stable 400 5000
+snap opened
+# backspace at column 0 joins the opened line back onto its predecessor
+key i home bs
+key esc
+stable 400 5000
+snap joined
+# undo walks the whole session back out to untouched shell output
+key u u u
+stable 400 5000
+snap undone