]> diplodocus.org Git - nmh/blob - test/format/test-curses
Replaced hidden make_mime_composition_file_entry() used by attach()
[nmh] / test / format / test-curses
1 #!/bin/sh
2 #
3 # Test that the curses function escapes work
4 #
5
6 set -e
7
8 if test -z "${MH_OBJ_DIR}"; then
9 srcdir=`dirname "$0"`/../..
10 MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR
11 fi
12
13 . "$MH_OBJ_DIR/test/common.sh"
14
15 setup_test
16 expected="$MH_TEST_DIR/$$.expected"
17 actual="$MH_TEST_DIR/$$.actual"
18
19 require_prog tput
20
21 tput -Txterm-color sgr0 >/dev/null 2>&1 ||
22 test_skip "missing terminfo entry for xterm-color"
23 tput -Tvt100 sgr0 > /dev/null 2>&1 ||
24 test_skip "missing terminfo entry for vt100"
25
26 #
27 # Set up things so messages 7-10 are unseen, and message 6 is cur
28 #
29
30 echo "Unseen-Sequence: unseen" >> "$MH"
31 mark +inbox 7-10 -seq unseen -add
32 mark 6 -seq cur -add -zero
33
34 #
35 # Right now, in scan.curses cur is marked with standout for monochrome, red
36 # for color, and unseen is marked with with bold/green for unseen.
37 #
38
39 TERM=vt100; export TERM
40
41 standout=`tput smso`
42 bold=`tput bold`
43 reset=`tput sgr0`
44
45 cat > "$expected" <<EOF
46 1 09/29 Test1 Testing message 1<<This is message number 1 >>${reset}
47 2 09/29 Test2 Testing message 2<<This is message number 2 >>${reset}
48 3 09/29 Test3 Testing message 3<<This is message number 3 >>${reset}
49 4 09/29 Test4 Testing message 4<<This is message number 4 >>${reset}
50 5 09/29 Test5 Testing message 5<<This is message number 5 >>${reset}
51 ${standout} 6+ 09/29 Test6 Testing message 6<<This is message number 6 >>${reset}
52 ${bold} 7 09/29 Test7 Testing message 7<<This is message number 7 >>${reset}
53 ${bold} 8 09/29 Test8 Testing message 8<<This is message number 8 >>${reset}
54 ${bold} 9 09/29 Test9 Testing message 9<<This is message number 9 >>${reset}
55 ${bold} 10 09/29 Test10 Testing message 10<<This is message number 10 >>${reset}
56 EOF
57
58 run_prog scan -width 80 -form scan.curses > "$actual"
59 check "$expected" "$actual"
60
61 #
62 # xterm-color should cause %(hascolor) to return true, so we should execute
63 # all of the color-based scan output. According to the terminfo
64 # documentation the color red should be 1, where green is 2. But the
65 # format code will fall back to the older setf capability if setaf isn't
66 # supported, which has a different color numbering scheme; we should
67 # test for that at some point.
68 #
69
70 TERM=xterm-color; export TERM
71
72 red=`tput setaf 1`
73 green=`tput setaf 2`
74 reset=`tput sgr0`
75
76 cat > "$expected" <<EOF
77 1 09/29 Test1 Testing message 1<<This is message number 1 >>${reset}
78 2 09/29 Test2 Testing message 2<<This is message number 2 >>${reset}
79 3 09/29 Test3 Testing message 3<<This is message number 3 >>${reset}
80 4 09/29 Test4 Testing message 4<<This is message number 4 >>${reset}
81 5 09/29 Test5 Testing message 5<<This is message number 5 >>${reset}
82 ${red} 6+ 09/29 Test6 Testing message 6<<This is message number 6 >>${reset}
83 ${green} 7 09/29 Test7 Testing message 7<<This is message number 7 >>${reset}
84 ${green} 8 09/29 Test8 Testing message 8<<This is message number 8 >>${reset}
85 ${green} 9 09/29 Test9 Testing message 9<<This is message number 9 >>${reset}
86 ${green} 10 09/29 Test10 Testing message 10<<This is message number 10 >>${reset}
87 EOF
88
89 run_prog scan -width 80 -form scan.curses > "$actual"
90 check "$expected" "$actual"
91
92 exit $failed