diff options
Diffstat (limited to 'test/snapshots')
| -rw-r--r-- | test/snapshots/badutf.golden | 62 | ||||
| -rw-r--r-- | test/snapshots/badutf.snap | 16 | ||||
| -rw-r--r-- | test/snapshots/reflow.golden | 25 | ||||
| -rw-r--r-- | test/snapshots/reflow.snap | 20 | ||||
| -rw-r--r-- | test/snapshots/tinywin.golden | 97 | ||||
| -rw-r--r-- | test/snapshots/tinywin.snap | 31 | ||||
| -rw-r--r-- | test/snapshots/yankpaste.golden | 31 | ||||
| -rw-r--r-- | test/snapshots/yankpaste.snap | 9 |
8 files changed, 291 insertions, 0 deletions
diff --git a/test/snapshots/badutf.golden b/test/snapshots/badutf.golden new file mode 100644 index 00000000..3873f5e8 --- /dev/null +++ b/test/snapshots/badutf.golden @@ -0,0 +1,62 @@ +== snap badbytes grid=100x30 cursor=7,2 +|Kill Newcol Tutor Debug NextColor Dump +| NOR /tmp/pardes-snap/badutf/cwd/bad.txt Save Del NOR /tmp/pardes-snap/badutf/cwd Del +| 1 hello �� world +| 2 latin-1 caf� tail bad.txt wide.txt +| 3 truncated �� here +| 4 end +| 5 +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap hscroll-midglyph grid=100x30 cursor=46,2 +|Kill Newcol Tutor Debug NextColor Dump +| NOR /tmp/pardes-snap/badutf/cwd/wide.txt Save De NOR /tmp/pardes-snap/badutf/cwd Del +| 1 ��語 日本語 日本語 日本語 tail +| 2 bad.txt wide.txt +| 3 +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/test/snapshots/badutf.snap b/test/snapshots/badutf.snap new file mode 100644 index 00000000..db9447b6 --- /dev/null +++ b/test/snapshots/badutf.snap @@ -0,0 +1,16 @@ +# Invalid UTF-8 must RENDER, never panic. Two sources, both ordinary use: +# a file pane holds whatever bytes are on disk (latin-1, a truncated sequence, +# an ELF opened by mistake), and the byte-column hscroll cuts a multi-byte +# glyph in half by design. Undecodable bytes come out as U+FFFD, one per byte. +file bad.txt hello \xff\xfe world\nlatin-1 caf\xe9 tail\ntruncated \xe6\x97 here\nend\n +file wide.txt \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e \xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e tail\nsecond line\n +start 30 100 bad.txt +wait 8000 Kill Newcol +stable 700 20000 +snap badbytes +start 30 100 wide.txt +wait 8000 Kill Newcol +stable 700 20000 +key $ +stable 700 10000 +snap hscroll-midglyph diff --git a/test/snapshots/reflow.golden b/test/snapshots/reflow.golden new file mode 100644 index 00000000..e38657cf --- /dev/null +++ b/test/snapshots/reflow.golden @@ -0,0 +1,25 @@ +== snap widened grid=200x24 cursor=4,19 +|Kill Newcol Tutor Debug NextColor Dump +| TTY /tmp/pardes-snap/reflow/cwd Del +| $ printf 'y%.0s' $(seq 1 3000); echo do''ne +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +| yyyyyyyyyyyyyyyyyyyyyyyyyyyyyydone +| $ +| +| +| +| diff --git a/test/snapshots/reflow.snap b/test/snapshots/reflow.snap new file mode 100644 index 00000000..0fa4a30d --- /dev/null +++ b/test/snapshots/reflow.snap @@ -0,0 +1,20 @@ +# Widening a window whose scrollback holds WRAPPED lines, with the viewport +# scrolled into history: ghostty's resizeCols unwraps, then grows rows while +# the history viewport pin is still short, and its Debug-only PageList +# integrity check panicked the whole app ("ViewportPinInsufficientRows"). +# build.zig now pins the ghostty dependency at ReleaseSafe so those +# development-only checks are off — the app's own safety checks are unchanged. +start 24 40 +wait 8000 $ +text printf 'y%.0s' $(seq 1 3000); echo do''ne +key enter +settle 2500 +stable 700 15000 +wheel up 10 10 +wheel up 10 10 +wheel up 10 10 +wheel up 10 10 +stable 500 8000 +resize 24 200 +stable 700 15000 +snap widened diff --git a/test/snapshots/tinywin.golden b/test/snapshots/tinywin.golden new file mode 100644 index 00000000..928241b2 --- /dev/null +++ b/test/snapshots/tinywin.golden @@ -0,0 +1,97 @@ +== snap stacked grid=100x30 cursor=4,14 +|Kill Newcol Tutor Debug NextColor Dump +| TTY /tmp/pardes-snap/tinywin/cwd Del +| $ +| NOR /tmp/pardes-snap/tinywin/cwd Del +| +| +| NOR /tmp/pardes-snap/tinywin/cwd Del +| +| +| NOR /tmp/pardes-snap/tinywin/cwd Del +| +| +| NOR /tmp/pardes-snap/tinywin/cwd Del +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap shrunk grid=60x3 cursor=59,2 +|Kill Newcol Tutor Debug NextColor Dump +| TTY /tmp/pardes-snap/tinywin/cwd Del +| NOR /tmp/pardes-snap/tinywin/cwd Del +== snap columns grid=100x30 cursor=79,3 +|Kill Newcol Tutor Debug NextColor Dump +| TTY /tmp/pardes-snap/ti NOR /tmp/pardes-snap/ti NOR /tmp/pardes-snap/ti NOR /tmp/pardes-snap/ti +| $ +| NOR /tmp/pardes-snap/ti +| +| +| NOR /tmp/pardes-snap/ti +| +| +| NOR /tmp/pardes-snap/ti +| +| +| NOR /tmp/pardes-snap/ti +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +== snap narrow grid=4x30 cursor=3,29 +|Kill +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ +|╎ diff --git a/test/snapshots/tinywin.snap b/test/snapshots/tinywin.snap new file mode 100644 index 00000000..fab7f950 --- /dev/null +++ b/test/snapshots/tinywin.snap @@ -0,0 +1,31 @@ +# Shrinking the window past "one row per pane" used to panic: computeGeom gave +# every pane in a column at least one row, so `y` walked off the bottom and +# renderPane got a rect outside the surface (assert). Panes that no longer fit +# now get h = 0 and simply do not render until the window grows back. +start 30 100 +wait 8000 $ +key a-n +settle 400 +key a-n +settle 400 +key a-n +settle 400 +key a-n +stable 700 15000 +snap stacked +resize 3 60 +stable 700 10000 +snap shrunk +# ...and the same sideways: more columns than the window is wide +resize 30 100 +stable 700 10000 +key space c n +settle 600 +key space c n +settle 600 +key space c n +stable 700 15000 +snap columns +resize 30 4 +stable 700 10000 +snap narrow diff --git a/test/snapshots/yankpaste.golden b/test/snapshots/yankpaste.golden index 213495dc..3f335d56 100644 --- a/test/snapshots/yankpaste.golden +++ b/test/snapshots/yankpaste.golden @@ -91,3 +91,34 @@ | | | +== snap blankline grid=100x30 cursor=7,4 +|Kill Newcol Tutor Debug NextColor Dump +| NOR /tmp/pardes-snap/yankpaste/cwd/f.txt Save De NOR /tmp/pardes-snap/yankpaste/cwd Del +| 1 liline 1 +| 2 f.txt +| 3 +| 4 line 2 +| 5 line 3 +| 6 line 2 +| 7 line 4 +| 8 line 2 +| 9 line 4 +| 10 line 5 +| 11 +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| +| diff --git a/test/snapshots/yankpaste.snap b/test/snapshots/yankpaste.snap index 38ca6e3b..96082ad6 100644 --- a/test/snapshots/yankpaste.snap +++ b/test/snapshots/yankpaste.snap @@ -26,3 +26,12 @@ stable 400 5000 key v l y p stable 400 5000 snap charwise-inline +# a BLANK line yanks as a bare "\n": the block is empty, lineCount says 0 +# lines, and every `n - 1` in the linewise paste used to underflow — panic on +# y then p. It pastes as one empty line. +key o +key esc +settle 700 +key y p +stable 400 5000 +snap blankline |
