]> diplodocus.org Git - nmh/blob - test/scan/test-scan
Add basic support for the STLS command in POP
[nmh] / test / scan / test-scan
1 #!/bin/sh
2 ######################################################
3 #
4 # Test a simple scan.
5 #
6 ######################################################
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
17 check_exit '-eq 1' scan -
18
19 expected="$MH_TEST_DIR/$$.expected"
20 actual="$MH_TEST_DIR/$$.actual"
21
22
23 # check -width
24 start_test '-width'
25 cat >"$expected" <<EOF
26 1 09/29 Test1 Testing message 1<<This is message number 1 >>
27 2 09/29 Test2 Testing message 2<<This is message number 2 >>
28 3 09/29 Test3 Testing message 3<<This is message number 3 >>
29 4 09/29 Test4 Testing message 4<<This is message number 4 >>
30 5 09/29 Test5 Testing message 5<<This is message number 5 >>
31 6 09/29 Test6 Testing message 6<<This is message number 6 >>
32 7 09/29 Test7 Testing message 7<<This is message number 7 >>
33 8 09/29 Test8 Testing message 8<<This is message number 8 >>
34 9 09/29 Test9 Testing message 9<<This is message number 9 >>
35 10 09/29 Test10 Testing message 10<<This is message number 10 >>
36 EOF
37
38 run_prog scan +inbox -width 80 >"$actual" || exit 1
39 check "$expected" "$actual"
40
41
42 # check full output device, if one exists
43 if test -c /dev/full; then
44 start_test 'full output device'
45 printf 'scan: failed to fflush stdout: No space left on device\n' >"$expected"
46 scan last >/dev/full 2>"$actual" && false
47 check "$expected" "$actual"
48 fi
49
50
51 # check highlighting
52 start_test 'highlighting'
53 cat >"$expected" <<EOF
54 1 09/29 Test1 Testing message 1<<This is message number 1 >>\e[m
55 2 09/29 Test2 Testing message 2<<This is message number 2 >>\e[m
56 3 09/29 Test3 Testing message 3<<This is message number 3 >>\e[m
57 4 09/29 Test4 Testing message 4<<This is message number 4 >>\e[m
58 \e[33;40m 5+ 09/29 Test5 Testing message 5<<This is message number 5 >>\e[m
59 6 09/29 Test6 Testing message 6<<This is message number 6 >>\e[m
60 7 09/29 Test7 Testing message 7<<This is message number 7 >>\e[m
61 8 09/29 Test8 Testing message 8<<This is message number 8 >>\e[m
62 9 09/29 Test9 Testing message 9<<This is message number 9 >>\e[m
63 \e[36;40m 10 09/29 Test10 Testing message 10<<This is message number 10 >>\e[m
64 EOF
65
66 printf 'Unseen-Sequence: unseen\n' >> $MH
67 mark -sequence cur 5
68 mark -sequence unseen 10
69 run_prog scan -form scan.highlighted -width 80 >"$actual" || exit 1
70 check "$expected" "$actual"
71
72
73 # check null input
74 start_test 'null input'
75 run_test 'scan -format "" -file /dev/null' ''
76
77
78 finish_test
79 exit $failed