summaryrefslogtreecommitdiff
path: root/test/macos-snapshots/font.snap
blob: 7fa04ebe27a7c2e62262d77e9438ba14c8685651 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# The font picker and the zoom, which are the two things this shell decides
# entirely on its own. Neither is visible in a cell buffer — the core has no
# font and no idea what a point is — so what a snapshot CAN see is the second
# effect of both: a cell that changed size fits a different number of columns
# into the same window, and the core reflows to it.
#
# `font` asserts the face by PostScript name, which is the only direct look at
# the thing under test.
start 24 100
wait 8000 $
stable 700 20000
font-size 14
snap boot

# Menlo ships with every macOS and ships inside a .ttc, so this is also the
# end-to-end proof of the collection branch in src/fonts.zig: the core walks
# the font directories, matches the name, hands over a path, and the host has
# to pull face 0 out of a file holding four.
command Font Menlo
stable 700 20000
font Menlo-Regular
font-size 14
snap menlo

# A name that resolves to nothing must leave the screen alone rather than
# fall back to something. `Font` finds no file, sets no path, and the host is
# never asked to do anything at all.
command Font NoSuchFaceExistsHere
stable 700 20000
font Menlo-Regular
snap unchanged

# Zoom is a pure host property: no builtin, no core round trip, just a bigger
# cell and the reflow that follows it. Four points is enough to move the grid
# at any starting size.
zoom 4
stable 700 20000
font Menlo-Regular
font-size 18
snap bigger

# ...and back, which must land on exactly the grid it started from — the whole
# point of "actual size" being a fixed number rather than an undo stack.
zoom reset
stable 700 20000
font-size 14
snap reset

# Small enough to be worth checking the clamp does not run away: the range
# floor is 6pt, so this asks for far past it and must simply stop.
zoom -40
stable 700 20000
font-size 6
snap floor