test: DECCARA/DECRARA attribute vocabulary mostly unpinned #209
Labels
No labels
priority/P0
priority/P1
priority/P2
release/v0.1.0
status/blocked
status/planned
type/bug
type/design
type/test-gap
type/tracker
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
natsukium/felis#209
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
The DECCARA/DECRARA test suites exercise only a slice of the attribute vocabulary the
issue's Where section names (bold, faint, italic, blink, reverse, underline variants,
invisible/conceal, strike).
Where
crates/felis-grid/src/editing.rs—AttrEdit::from_paramsandreverse_attr_masksmapall of selectors 1-9 and 21-29: bold, faint, italic, underline (including the 4:n colon
shapes), blink (5|6), reverse, conceal, strikethrough, plus the 22-29 "off" aliases.
The snapshot and proptest suites, however, only ever exercise selector 1 (bold), 4
(underline — both plain and the 4:3 colon form, and the colon form only via DECRARA,
never DECCARA), 7 (reverse), and the 22/24 clear pair. Faint (2), italic (3), blink
(5|6), conceal (8), strikethrough (9), the clear aliases 23/25/27/28/29, and DECCARA's
own colon-form underline shape are never asserted by any test. A swapped or dropped
mapping for any of these (FAINT mapped to STRIKETHROUGH, italic silently no-op'd) would
pass the full suite.
Correction
Add table-driven (or a small parametrized set of) assertions covering every selector in
RECT_ATTRSfor both DECCARA and DECRARA, including a DECCARA-side 4:n colon-shape case,so the documented attribute subset is actually pinned.
Why deferred from #188
The issue's Tests section requires one snapshot per operation plus the DECSACE and
margin/origin-mode cases; it does not ask for table-driven coverage of every SGR
selector. Broader attribute-vocabulary coverage is valuable but is additional test
surface beyond the stated acceptance criteria.
Split from #188.