]> diplodocus.org Git - nmh/blob - test/mhshow/test-textcharset
Added MH libdir to PATH in test-textcharset because it uses ap.
[nmh] / test / mhshow / test-textcharset
1 #!/bin/sh
2 ##########################################################
3 #
4 # Test display of text/plain parts with charset conversion
5 #
6 ##########################################################
7
8 set -e
9
10 if test -z "${MH_OBJ_DIR}"; then
11 srcdir=`dirname "$0"`/../..
12 MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR
13 fi
14
15 . "$MH_OBJ_DIR/test/common.sh"
16
17 setup_test
18
19 #### Use ap from PATH.
20 PATH=`mhparam libdir`:$PATH
21
22 if test "$ICONV_ENABLED" -eq 0; then
23 test_skip 'test-textcharset requires that nmh have been built with iconv'
24 fi
25
26 LC_ALL=en_US.UTF-8; export LC_ALL
27
28 expected="$MH_TEST_DIR"/$$.expected
29 actual="$MH_TEST_DIR"/$$.actual
30
31 # check charset conversion
32 msgfile=`mhpath new`
33 cat >"$msgfile" <<EOF
34 From: foo@example.edu
35 To: bar@example.edu
36 Subject: test display with charset conversion
37 MIME-Version: 1.0
38 Content-Type: text/plain; charset=windows-1252
39 Content-Transfer-Encoding: quoted-printable
40 Date: Sun, 18 Dec 2005 00:52:39 +0100
41
42 4 =F7 2 =3D 2
43 EOF
44
45 cat >"$expected" <<EOF
46 Date: Sun, 18 Dec 2005 00:52:39 +0100
47 To: bar@example.edu
48 From: foo@example.edu
49 Subject: test display with charset conversion
50
51 MIME-Version: 1.0
52
53 part text/plain 10
54 4 รท 2 = 2
55 EOF
56
57 run_prog mhshow -nopause last >"$actual" 2>&1
58 check "$expected" "$actual"
59
60 cat >>"$MH" <<'EOF'
61 mhshow-show-text/plain: echo %{charset}
62 EOF
63
64 # check expansion of %{charset} by itself
65 msgfile=`mhpath new`
66 cat >"$msgfile" <<EOF
67 From: foo@example.edu
68 To: bar@example.edu
69 Subject: test display with %{charset} expansion
70 MIME-Version: 1.0
71 Content-Type: text/plain; charset=windows-1252
72 Content-Transfer-Encoding: quoted-printable
73 Date: Sun, 18 Dec 2005 00:52:39 +0100
74
75 4 =F7 2 =3D 2
76 EOF
77
78 cat >"$expected" <<EOF
79 Date: Sun, 18 Dec 2005 00:52:39 +0100
80 To: bar@example.edu
81 From: foo@example.edu
82 Subject: test display with %{charset} expansion
83
84 MIME-Version: 1.0
85
86 windows-1252
87 EOF
88
89 run_prog mhshow -nopause last >"$actual" 2>&1
90 check "$expected" "$actual"
91
92 # check expansion of empty %{charset} by itself
93 msgfile=`mhpath new`
94 cat >"$msgfile" <<EOF
95 From: foo@example.edu
96 To: bar@example.edu
97 Subject: test display with empty %{charset} expansion
98 MIME-Version: 1.0
99 Content-Type: text/plain
100 Content-Transfer-Encoding: quoted-printable
101 Date: Sun, 18 Dec 2005 00:52:39 +0100
102
103 4 =F7 2 =3D 2
104 EOF
105
106 cat >"$expected" <<EOF
107 Date: Sun, 18 Dec 2005 00:52:39 +0100
108 To: bar@example.edu
109 From: foo@example.edu
110 Subject: test display with empty %{charset} expansion
111
112 MIME-Version: 1.0
113
114
115 EOF
116
117 run_prog mhshow -nopause last >"$actual" 2>&1
118 check "$expected" "$actual"
119
120 grep -v 'mhshow-show-text/plain:' "$MH" >"$MH.new"
121 mv -f "$MH.new" "$MH"
122 cat >>"$MH" <<'EOF'
123 mhshow-show-text/plain: echo `ap -format '%(void(lit %{charset}))%<(nonnull)-I %(putstr)%>' 0`
124 EOF
125
126 # check expansion of embedded %{charset} with no text following
127 cat >"$expected" <<EOF
128 Date: Sun, 18 Dec 2005 00:52:39 +0100
129 To: bar@example.edu
130 From: foo@example.edu
131 Subject: test display with %{charset} expansion
132
133 MIME-Version: 1.0
134
135 -I windows-1252
136 EOF
137
138 run_prog mhshow -nopause prev >"$actual" 2>&1
139 check "$expected" "$actual"
140
141 # check expansion of empty embedded %{charset} with no text following
142 cat >"$expected" <<EOF
143 Date: Sun, 18 Dec 2005 00:52:39 +0100
144 To: bar@example.edu
145 From: foo@example.edu
146 Subject: test display with empty %{charset} expansion
147
148 MIME-Version: 1.0
149
150
151 EOF
152
153 run_prog mhshow -nopause last >"$actual" 2>&1
154 check "$expected" "$actual"
155
156 sed -e 's%\(mhshow-show-text/plain:.*\)%\1 file%' "$MH" >"$MH.new"
157 mv -f "$MH.new" "$MH"
158
159 # check expansion of embedded %{charset} with text following
160 cat >"$expected" <<EOF
161 Date: Sun, 18 Dec 2005 00:52:39 +0100
162 To: bar@example.edu
163 From: foo@example.edu
164 Subject: test display with %{charset} expansion
165
166 MIME-Version: 1.0
167
168 -I windows-1252 file
169 EOF
170
171 run_prog mhshow -nopause prev >"$actual" 2>&1
172 check "$expected" "$actual"
173
174 # check expansion of empty embedded %{charset} with text following
175 cat >"$expected" <<EOF
176 Date: Sun, 18 Dec 2005 00:52:39 +0100
177 To: bar@example.edu
178 From: foo@example.edu
179 Subject: test display with empty %{charset} expansion
180
181 MIME-Version: 1.0
182
183 file
184 EOF
185
186 run_prog mhshow -nopause last >"$actual" 2>&1
187 check "$expected" "$actual"
188
189 sed -e 's/%{charset}/%{unknown}/' "$MH" >"$MH.new"
190 mv -f "$MH.new" "$MH"
191
192 # check expansion of unknown parameter
193 msgfile=`mhpath new`
194 cat >"$msgfile" <<EOF
195 From: foo@example.edu
196 To: bar@example.edu
197 Subject: test display with unknown C-T parameter expansion
198 MIME-Version: 1.0
199 Content-Type: text/plain; charset=windows-1252
200 Content-Transfer-Encoding: quoted-printable
201 Date: Sun, 18 Dec 2005 00:52:39 +0100
202
203 4 =F7 2 =3D 2
204 EOF
205
206 cat >"$expected" <<EOF
207 Date: Sun, 18 Dec 2005 00:52:39 +0100
208 To: bar@example.edu
209 From: foo@example.edu
210 Subject: test display with unknown C-T parameter expansion
211
212 MIME-Version: 1.0
213
214 -I %{unknown} file
215 EOF
216
217 run_prog mhshow -nopause last >"$actual" 2>&1
218 check "$expected" "$actual"
219
220
221 exit $failed