Merge remote-tracking branch 'qemu/master'
[qemu/ar7.git] / tests / escape-test.sh
blob12b3de569371cf95f2d2b852ef92ea931b721807
1 #!/bin/bash
3 # Test ANSI escape sequences.
5 # Copyright (C) 2006 Stefan Weil
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
12 # Usage: bash escape-test.sh $LINES $COLUMNS
13 # (LINES, COLUMNS must contain reasonable values)
15 COLUMNS=$2
16 LINES=$1
18 fill_screen() {
19 xline=""
20 for (( i = 0; i < $COLUMNS; i = i + 1 )); do
21 xline=${xline}x
22 done
24 echo -ne "\e[H"
25 for (( i = 1; i <= $LINES; i = i + 1 )); do
26 echo -ne "\e[$i;1H$xline"
27 done
30 test_title() {
31 echo -ne "\e[HTest: $1 (press enter to continue) "
34 prepare_next_test() {
35 read -p ""
36 fill_screen
37 test_title "$1"
40 fill_screen
41 test_title "screen filled with x"
43 prepare_next_test "cursor line 1"
44 echo -ne "\e[1;${COLUMNS}H*"
45 sleep 5
46 prepare_next_test "cursor line $LINES"
47 echo -ne "\e[${LINES};${COLUMNS}H*"
48 sleep 5
50 prepare_next_test "cursor position"
51 echo -ne "\e[3;1Htext at row 3 column 1"
52 echo -ne "\e[4;6Htext at row 4 column 6"
54 prepare_next_test "text styles and colors"
55 echo -ne "\e[3;1Htext styles: "
56 echo -ne "\e[1mbold\e[m "
57 echo -ne "\e[2mfaint\e[m "
58 echo -ne "\e[3mitalic\e[m "
59 echo -ne "\e[4munderline\e[m "
60 echo -ne "\e[5mblink\e[m "
61 echo -ne "\e[6mrapid blink\e[m "
62 echo -ne "\e[7mreverse\e[m "
63 echo -ne "\e[4;1Hforeground: "
64 echo -ne "\e[30mblack\e[m "
65 echo -ne "\e[31mred\e[m "
66 echo -ne "\e[32mgreen\e[m "
67 echo -ne "\e[33myellow\e[m "
68 echo -ne "\e[34mblue\e[m "
69 echo -ne "\e[35mmagenta\e[m "
70 echo -ne "\e[36mcyan\e[m "
71 echo -ne "\e[37mwhite\e[m "
72 echo -ne "\e[5;1Hbackground: "
73 echo -ne "\e[40mblack\e[m "
74 echo -ne "\e[41mred\e[m "
75 echo -ne "\e[42mgreen\e[m "
76 echo -ne "\e[43myellow\e[m "
77 echo -ne "\e[44mblue\e[m "
78 echo -ne "\e[45mmagenta\e[m "
79 echo -ne "\e[46mcyan\e[m "
80 echo -ne "\e[47mwhite\e[m "
82 prepare_next_test "erase line"
83 echo -ne "\e[6;10Herase to end of line\e[0K"
84 echo -ne "\e[7;10Herase from beginning of line\e[7;9H\e[1K"
85 echo -ne "\e[8;10H\e[2Kerase entire line"
87 prepare_next_test "erase screen"
88 echo -ne "\e[6;10Herase to end of screen\e[0J"
90 prepare_next_test "erase screen"
91 echo -ne "\e[6;10Herase from beginning of screen\e[6;9H\e[1J"
93 prepare_next_test "erase screen"
94 echo -ne "\e[6;10H\e[2Jerase entire screen"
96 prepare_next_test "save / restore cursor position"
97 echo -ne "\e[6;10H\e[s after save cursor\e[urestore cursor "
99 prepare_next_test "finished"
100 echo -ne "\e[1;1H\e[2J"
102 # eof