]> diplodocus.org Git - nmh/blob - test/ali/test-ali
Moved test of empty header field from
[nmh] / test / ali / test-ali
1 #!/bin/sh
2 ######################################################
3 #
4 # Test ali
5 #
6 ######################################################
7
8 # Not tested:
9 # -normalize, -nonormalize
10
11 set -e
12
13 if test -z "${MH_OBJ_DIR}"; then
14 srcdir=`dirname $0`/../..
15 MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR
16 fi
17
18 . "$MH_OBJ_DIR/test/common.sh"
19
20 setup_test
21
22 expected=$MH_TEST_DIR/$$.expected
23 expected_err=$MH_TEST_DIR/$$.expected_err
24 actual=$MH_TEST_DIR/$$.actual
25 actual_err=$MH_TEST_DIR/$$.actual_err
26
27
28 # check -help
29 cat >$expected <<EOF
30 Usage: ali [switches] aliases ...
31 switches are:
32 -alias aliasfile
33 -[no]list
34 -[no]normalize
35 -[no]user
36 -version
37 -help
38 EOF
39
40 ali -help >$actual 2>&1
41 check $expected $actual
42
43 # check -version
44 case `ali -v` in
45 ali\ --*) ;;
46 * ) echo "$0: ali -v generated unexpected output" 1>&2
47 failed=`expr ${failed:-0} + 1`;;
48 esac
49
50 # check unknown option
51 run_test 'ali -nonexistent' 'ali: -nonexistent unknown'
52
53 # check with no arguments and no AliasFile profile component
54 run_test 'ali' ''
55
56 # check with nonexistent alias file
57 run_test 'ali -alias nonexistent' \
58 "ali: aliasing error in nonexistent - unable to read 'nonexistent'"
59
60 cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
61 me: me@example.com
62 rush: geddy, alex, neil
63 geddy: geddy@example.com
64 alex: alex@example.com
65 neil: neil@example.com
66 EOF
67
68 # check -alias
69 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases" \
70 'me: me@example.com
71 rush: geddy@example.com, alex@example.com, neil@example.com
72 geddy: geddy@example.com
73 alex: alex@example.com
74 neil: neil@example.com'
75
76 # check for a specific alias
77 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
78 'geddy@example.com, alex@example.com, neil@example.com'
79
80 # check for a specific alias that doesn't exist
81 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases nonexistent" \
82 'nonexistent'
83
84 # check -list
85 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list" \
86 'me: me@example.com
87 rush: geddy@example.com
88 alex@example.com
89 neil@example.com
90 geddy: geddy@example.com
91 alex: alex@example.com
92 neil: neil@example.com'
93
94 # check -nolist, which is the default
95 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -list -nolist" \
96 'me: me@example.com
97 rush: geddy@example.com, alex@example.com, neil@example.com
98 geddy: geddy@example.com
99 alex: alex@example.com
100 neil: neil@example.com'
101
102 # check -user
103 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases -user geddy@example.com" \
104 'rush, geddy'
105
106 # check -nouser
107 run_test \
108 "ali -alias ${MH_TEST_DIR}/Mail/aliases -user -nouser geddy@example.com" \
109 'geddy@example.com'
110
111 # check expansion of first address of blind list [Bug #15604]
112 cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
113 rush: Rush: geddy, alex, neil
114 geddy: geddy@example.com
115 alex: alex@example.com
116 neil: neil@example.com
117 EOF
118
119 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
120 'Rush: geddy@example.com, alex@example.com, neil@example.com'
121
122 # check that aliases followed by ; are not expanded [Bug #15604]
123 cat >"${MH_TEST_DIR}/Mail/aliases" <<EOF
124 rush: Rush: geddy, alex, neil;
125 geddy: geddy@example.com
126 alex: alex@example.com
127 neil: neil@example.com
128 EOF
129
130 run_test "ali -alias ${MH_TEST_DIR}/Mail/aliases rush" \
131 'Rush: geddy@example.com, alex@example.com, neil;'
132
133
134 exit $failed