summaryrefslogtreecommitdiff
path: root/test/macos-snapshots/boot.snap
blob: c62fa2bd6f500d04892de17ee68f8c86f25963f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# The whole boot path in one script: pardes_init at the grid the offscreen
# window actually measured, the first shell reaching its prompt, and the
# CoreText pass painting. `draw` is the only command in the suite that touches
# the drawing code at all — everything else reads the core's cell buffer, which
# a draw(_:) that returned on its first line would leave perfectly intact.
#
# The macOS backend takes no argv, so it always boots the way a bare
# `start 30 140` does in test/snapshots: one terminal pane in raw tty mode,
# prompt visible. `$ ` is the prompt the hermetic .bashrc pins, and no chrome
# row carries a `$`, so waiting on one is waiting on the shell.
start 24 80
wait 8000 Newcol Joincol
wait 8000 $
stable 700 20000
snap boot
draw boot
# The window changing size is the other half of the boot contract: the core
# reflows, the view re-measures, and the second `draw` proves the new size is
# the size that actually got painted.
resize 30 100
stable 700 20000
snap resized
draw resized

# The panel ABI and the runtime Metal path in one small assertion. Newcol
# changes the existing pane and opens a second one; paint order must be moving
# then opening, and draw compiles/runs the shader against the whole frame.
command PanelSlide
command Newcol
tracks moving:slide opening:slide
draw-effect panels