Skip to content

Commit 985d5cf

Browse files
committed
Improve full-test screens and descriptions
1 parent 22f48ca commit 985d5cf

File tree

2 files changed

+54
-26
lines changed

2 files changed

+54
-26
lines changed

Changes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
Revision history for Terminal-Tests
22

33
{{$NEXT}}
4+
[Features]
5+
- Update full test screens, including new SGR attributes, improved
6+
4-bit color testing and better/more precise descriptions throughout.
7+
48

59
0.0.11 2025-11-21T09:26:25-08:00
610
[Docs]

lib/Terminal/Tests/App/FullTest.rakumod

Lines changed: 50 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -114,33 +114,40 @@ sub show-intro() {
114114
### COLOR TESTS
115115

116116
sub show-basic-attributes() {
117-
my @basic = < bold italic inverse underline >;
117+
my @basic = < bold faint italic inverse strike overline underline dunderline >;
118118
my @rows = @basic.map: { colored $_, $_ };
119119
my $desc = qq:to/DESC/;
120-
The words "bold", "italic", "inverse", and "underline", each on
121-
a line by itself, and each displayed as self-described. In other
122-
words, "bold" should appear bold (thicker), "italic" should appear
123-
italic (slanted or in a proper italic font), and so on.
120+
The words "bold", "faint", "italic", "inverse", "strike" (strikethrough),
121+
"overline", "underline", and "dunderline" (double underline), each on
122+
a line by itself, and each displayed as self-described. In other words,
123+
"bold" should appear bold (thicker), "italic" should appear italic
124+
(slanted, oblique, or in a proper italic font), and so on.
124125
DESC
125126
show('color', 'attributes', "Attributes", $desc, @rows);
126127
}
127128

128129
sub show-four-bit-color() {
129130
my @colors = < black red green yellow blue magenta cyan white >;
130-
my @fg = @colors.map: { colored '██', $_ };
131-
my @bg = @colors.map: { colored ' ', 'on_' ~ $_ };
132-
my @rows = @fg.join,
133-
@bg.join,
134-
@fg.map({ BOLD() ~ $_ }).join,
135-
@bg.map({ BOLD() ~ $_ }).join;
131+
my @fg-reg = @colors.map: { colored '██', $_ };
132+
my @bg-inv = @colors.map: { colored '██', 'inverse on_' ~ $_ };
133+
my @bg-reg = @colors.map: { colored ' ', 'on_' ~ $_ };
134+
my @fg-inv = @colors.map: { colored ' ', 'inverse ' ~ $_ };
135+
my @rows = @fg-reg.join,
136+
@bg-inv.join,
137+
@bg-reg.join,
138+
@fg-inv.join,
139+
@fg-reg.map({ BOLD() ~ $_ }).join,
140+
@bg-inv.map({ BOLD() ~ $_ }).join,
141+
@bg-reg.map({ BOLD() ~ $_ }).join,
142+
@fg-inv.map({ BOLD() ~ $_ }).join;
136143
my $desc = qq:to/DESC/;
137144
Eight solid colored stripes, from left to right:
138145
139146
{@colors.join(', ')}
140147
141-
There should be a lighter stripe across all colors
142-
between half and three-quarters of the way down. There
143-
should be no gaps or faint lines within the stripes.
148+
There should be two lighter stripes across all colors in the
149+
bottom half, one just below the median and one at the very
150+
bottom, and no gaps or faint lines within the stripes.
144151
145152
NOTE: Some terminal themes will alter stripe colors.
146153
DESC
@@ -461,6 +468,9 @@ sub show-number-forms() {
461468
* Roman numeral uppercase: I-XII
462469
* Roman numeral lowercase: i-xii
463470
* Roman numeral larger numbers: L, C, D, M, l, c, d, m
471+
472+
All rows should be clear and readable, with no glyphs cut
473+
off or shrunk to unreadability.
464474
DESC
465475
show('symbols', 'number-forms', "Number Forms", $desc, @rows);
466476
}
@@ -476,6 +486,9 @@ sub show-super-sub-digits() {
476486
477487
* digits: 0-9; plus, minus, equals; parenthesis: left, right
478488
489+
Superscripts and subscripts should be readable and have consistent
490+
size and alignment throughout each row.
491+
479492
If only the superscript 1, 2, 3 (and X's) appear this rates as 0,
480493
as these are inherited from Latin-1 instead of being new glyphs.
481494
DESC
@@ -512,14 +525,17 @@ sub show-tone-bars() {
512525
sub show-basic-icons() {
513526
my @rows;
514527
@rows.push: < ✔ ✘ ‣ ⁂ >;
515-
@rows.push: < ‼ ‽ ‱ >;
528+
@rows.push: < ‼ ‽ ‱ >;
516529
@rows.push: < ‖ ‗ ‾ ‿ >;
517530
my $desc = q:to/DESC/;
518531
Three rows of icons and punctuation; from left to right on each row:
519532
520533
* checkmark, ballot-x, triangle-bullet, asterism
521-
* reference-mark, double-exclamation, interrobang, per-ten-thousand
534+
* double-exclamation, interrobang, per-ten-thousand, reference-mark
522535
* double-vertical-bar, double-low-bar, overbar, undertie
536+
537+
All symbols should be narrow (one cell wide) except reference-mark
538+
and asterism, which may be narrow or wide depending on your terminal.
523539
DESC
524540
show('symbols', 'basic', "Misc", $desc, @rows);
525541
}
@@ -595,8 +611,9 @@ sub show-chess-pieces() {
595611
596612
* king, queen, rook, bishop, knight, pawn
597613
598-
Pieces should not be cut off or unreadable. Spacing should be even,
599-
with no extra-wide or extra-narrow gaps.
614+
Pieces should not be cut off or unreadable. Spacing should be
615+
even, with no extra-wide or extra-narrow gaps, and all pieces
616+
should match in general appearance.
600617
DESC
601618
show('games', 'chess', "Chess", $desc, @rows);
602619
}
@@ -642,7 +659,8 @@ sub show-mahjong-tiles() {
642659
seasons: spring, summer, autumn, winter; other: joker, back
643660
644661
Tiles should not be cut off or unreadable. Spacing should be even,
645-
with no extra-wide or extra-narrow gaps.
662+
with no extra-wide or extra-narrow gaps, and all pieces should be
663+
the same size.
646664
DESC
647665
show('games', 'mahjong', "Mahjong", $desc, @rows);
648666
}
@@ -664,7 +682,9 @@ sub show-domino-tiles() {
664682
* vertical tiles: 4-0 to 6-6, back
665683
666684
Tiles should not be cut off or unreadable. Spacing should be even,
667-
with no extra-wide or extra-narrow gaps.
685+
with no extra-wide or extra-narrow gaps, all tiles should be the
686+
same size, and the vertical tiles should appear centered below the
687+
horizontal tiles above them.
668688
DESC
669689
show('games', 'dominoes', "Dominoes", $desc, @rows);
670690
}
@@ -687,7 +707,8 @@ sub show-playing-cards() {
687707
* card back; jokers: red, black, white
688708
689709
Cards should not be cut off or unreadable. Spacing should be even,
690-
with no extra-wide or extra-narrow gaps.
710+
with no extra-wide or extra-narrow gaps, and all cards should be
711+
the same size.
691712
DESC
692713
show('games', 'playing-cards', "Playing Cards", $desc, @rows);
693714
}
@@ -701,8 +722,8 @@ sub show-playing-card-trumps() {
701722
@rows.push: (0x1F0EC .. 0x1F0EF).map(&chr);
702723
@rows.push: (0x1F0EA, 0x1F0EB, 0x1F0E1, 0x1F0F5, 0x1F0E0, 0x1F0F4).map(&chr);
703724
my $desc = q:to/DESC/;
704-
Five rows of playing card trumps in text outline form; from left to
705-
right on each row:
725+
Five rows of playing card trumps in text outline form; from left to right
726+
on each row:
706727
707728
* ages: childhood, youth, maturity, old-age
708729
* seasons: spring, summer, autumn, winter
@@ -711,8 +732,8 @@ sub show-playing-card-trumps() {
711732
* pairs: earth-and-air, water-and-fire, individual, collective,
712733
the-fool, the-game
713734
714-
Cards should not be cut off or unreadable. Spacing should be even,
715-
with no extra-wide or extra-narrow gaps.
735+
Cards should not be cut off or unreadable. Spacing should be even, with
736+
no extra-wide or extra-narrow gaps, and all cards should be the same size.
716737
DESC
717738
show('games', 'trump-cards', "Trump Cards", $desc, @rows);
718739
}
@@ -729,7 +750,8 @@ sub show-xiangqi-pieces() {
729750
* general, mandarin, elephant, horse, chariot, cannon, soldier
730751
731752
Pieces should not be cut off or unreadable. Spacing should be even,
732-
with no extra-wide or extra-narrow gaps.
753+
with no extra-wide or extra-narrow gaps, and all pieces should be
754+
the same size.
733755
DESC
734756
show('games', 'xiangqi', "Xiangqi", $desc, @rows);
735757
}
@@ -797,6 +819,8 @@ sub show-facial-outlines() {
797819
outline form; from left to right:
798820
799821
* {@faces.join(', ')}
822+
823+
The last face should end under the "n" in "Face Outlines".
800824
DESC
801825
show('emoji', 'face-outlines', "Face Outlines", $desc, [$row]);
802826
}

0 commit comments

Comments
 (0)