summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-07-07 22:12:33 -0300
committerGabriel Schneider <[email protected]>2026-08-01 15:02:07 -0300
commitc4cb26fe6f061dd4bcfb9e9df7b7d4e4d434d10a (patch)
treefc962242ab7cca1688f620aff4ec99eef2561053 /test
parentaea460be8577be92b0910f1eb007fc99aab4ef30 (diff)
downloadpardes-c4cb26fe6f061dd4bcfb9e9df7b7d4e4d434d10a.tar.gz
pardes-c4cb26fe6f061dd4bcfb9e9df7b7d4e4d434d10a.zip
acme mouse chords: 1-2 Cut / 1-3 Paste while a left selection drag holds (both in one hold = Snarf/copy; the chorded left release is inert), plus 2-3 / 3-1 / 3-2 cancel an execute or look drag mid-gesture (the 2-1 argument chord already existed). chordcut.snap covers cut/copy/paste and both cancels; tutor documents the chords.
Diffstat (limited to 'test')
-rw-r--r--test/snapshots/chordcut.golden279
-rw-r--r--test/snapshots/chordcut.snap101
2 files changed, 380 insertions, 0 deletions
diff --git a/test/snapshots/chordcut.golden b/test/snapshots/chordcut.golden
new file mode 100644
index 00000000..b7c0122f
--- /dev/null
+++ b/test/snapshots/chordcut.golden
@@ -0,0 +1,279 @@
+== snap opened grid=60x30 cursor=7,2
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 line 2 f.txt g.txt
+| 3 line 3
+| 4 line 4
+| 5 line 5
+|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+| f.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap cut grid=60x30 cursor=7,3
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 2 f.txt g.txt
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+| f.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap copied grid=60x30 cursor=10,4
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 2 f.txt g.txt
+| 3 line 3
+| 4 line 4
+| 5 line 5
+| 6
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+| f.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap pointpaste grid=60x30 cursor=16,5
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 2 f.txt g.txt
+| 3 line 3
+| 4 line 4line
+| 5 line 5
+| 6
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+| f.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap replaced grid=60x30 cursor=11,6
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 2 f.txt g.txt
+| 3 line 3
+| 4 line 4line
+| 5 lline 5
+| 6
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+| f.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap cancelexec grid=60x30 cursor=25,3
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 2echo B''OO g.txt f.txt g.txt
+| 3 line 3
+| 4 line 4line
+| 5 lline 5
+| 6
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+| f.txt
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap execafter grid=60x30 cursor=25,3
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 2echo B''OO g.txt f.txt g.txt
+| 3 line 3
+| 4 line 4line
+| 5 lline 5
+| 6
+| NOR /tmp/pardes-snap/chordcu
+| f.txt g.txt
+|
+|
+|
+| f.txt
+| BOO
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap cancellook grid=60x30 cursor=25,3
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 2echo B''OO g.txt f.txt g.txt
+| 3 line 3
+| 4 line 4line
+| 5 lline 5
+| 6
+| NOR /tmp/pardes-snap/chordcu
+| f.txt g.txt
+|
+|
+|
+| f.txt
+| BOO
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+== snap lookafter grid=60x30 cursor=7,5
+|Kill Newcol Tutor Debug Colors NextColor Dump
+| NOR /tmp/pardes-snap/chordcu NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+|╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ f.txt g.txt
+| NOR /tmp/pardes-snap/chordcu
+| 1 line 1
+| 2 line 2
+| 3
+| NOR /tmp/pardes-snap/chordcu
+| f.txt g.txt
+|
+|
+|
+| f.txt
+| BOO
+|
+| NOR /tmp/pardes-snap/chordcu
+|
+| f.txt g.txt
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
+|
diff --git a/test/snapshots/chordcut.snap b/test/snapshots/chordcut.snap
new file mode 100644
index 00000000..fc033e39
--- /dev/null
+++ b/test/snapshots/chordcut.snap
@@ -0,0 +1,101 @@
+# acme 1-2/1-3 chords in a file pane: with the left button holding a drag
+# selection, tapping middle Cuts it into the snarf (yank) register; tapping
+# right Pastes the register (replacing the selection, or splicing at a bare
+# click point); cut then paste in ONE hold nets out to copy/Snarf. The left
+# release after a chord is inert (the cursor stays where the op left it).
+# Also the cancel chords: tapping right during a middle (execute) drag or
+# left during a right (look) drag cancels the gesture entirely.
+lines f.txt 5
+lines g.txt 2
+start 30 60 -n 3
+wait 8000 f.txt
+stable 700 20000
+# open f.txt: click a body spot, type the name, look it
+press left 5 8
+release left 5 8
+stable 400 5000
+key i
+text f.txt
+key esc
+settle 700
+stable 400 5000
+press right 6 8
+release right 6 8
+wait 10000 line 3
+stable 700 15000
+snap opened
+# 1-2 Cut: left-drag over "line" on line 2, tap middle while holding
+press left 8 4
+drag left 11 4
+press middle 11 4
+release middle 11 4
+release left 11 4
+stable 400 5000
+snap cut
+# 1-2 then 1-3 in one hold = copy: line 3 keeps its text, register loaded
+press left 8 5
+drag left 11 5
+press middle 11 5
+release middle 11 5
+press right 11 5
+release right 11 5
+release left 11 5
+stable 400 5000
+snap copied
+# 1-3 at a bare click point: hold left past the end of line 4, tap right —
+# the register splices in at the click
+press left 14 6
+press right 14 6
+release right 14 6
+release left 14 6
+stable 400 5000
+snap pointpaste
+# 1-3 over a fresh selection replaces it with the register
+press left 9 7
+drag left 11 7
+press right 11 7
+release right 11 7
+release left 11 7
+stable 400 5000
+snap replaced
+# arm the cancel tests: append `echo B''OO g.txt` to line 2
+press left 10 4
+release left 10 4
+stable 400 5000
+key i
+text echo B''OO g.txt
+key esc
+settle 700
+stable 400 5000
+# 2-3 cancel (acme textselect2): tap right during the middle execute-drag
+# over `echo B''OO` — the command never runs (no BOO anywhere)
+press middle 10 4
+drag middle 19 4
+press right 19 4
+release right 19 4
+release middle 19 4
+stable 700 8000
+snap cancelexec
+# the same drag released clean proves the word was live: BOO appears
+press middle 10 4
+drag middle 19 4
+release middle 19 4
+wait 10000 BOO
+stable 700 10000
+snap execafter
+# 3-1 cancel (acme textselect3): tap left during the right look-drag over
+# g.txt — no pane opens
+press right 21 4
+drag right 25 4
+press left 25 4
+release left 25 4
+release right 25 4
+stable 700 8000
+snap cancellook
+# the same look released clean opens g.txt
+press right 21 4
+drag right 25 4
+release right 25 4
+wait 10000 line 2
+stable 700 10000
+snap lookafter