summaryrefslogtreecommitdiff
path: root/test/snapshots/ttypaste.snap
diff options
context:
space:
mode:
Diffstat (limited to 'test/snapshots/ttypaste.snap')
-rw-r--r--test/snapshots/ttypaste.snap32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/snapshots/ttypaste.snap b/test/snapshots/ttypaste.snap
new file mode 100644
index 00000000..d59a0b3e
--- /dev/null
+++ b/test/snapshots/ttypaste.snap
@@ -0,0 +1,32 @@
+# Pasting INTO the program a tty pane is running.
+#
+# `SPC p` and the acme 1-3 chord are both unreachable in raw tty: the pty owns
+# every keystroke and every button. So tty mode has its own chord, and a paste
+# arriving from outside has to reach the shell rather than an edit buffer that
+# the pty does not know exists.
+#
+# Two paths, both ending at the shell's command line:
+# Ctrl-V types the DEFAULT register (config.tty_paste)
+# bracketed paste the outer terminal's own paste, or a desktop one relayed
+# by a GUI host, which used to land in an overlay instead
+file src.txt PASTED-PAYLOAD
+start 30 100 -n 3
+wait 8000 src.txt
+stable 700 20000
+# fill the default register from a file pane: sweep the word and yank it
+key c-b
+stable 600 8000
+# in tty now; type a prefix so the pasted text is visibly appended to it
+text echo
+stable 600 8000
+# the outer terminal's bracketed paste: not a keystroke, no request behind it,
+# and it must arrive at the shell's line
+send \e[200~ BRACKETED\e[201~
+stable 600 8000
+snap bracketed-paste-reached-the-shell
+# Ctrl-V types the register. Nothing was yanked in this session, so the
+# register is empty and the chord is INERT rather than sending the shell the
+# 0x16 it used to (quoted-insert): the line below is unchanged.
+key c-v
+stable 600 8000
+snap ctrl-v-with-empty-register-is-inert