1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
#!/bin/sh
######################################################
#
# Test mhlist with extended parameters (RFC 2231)
#
######################################################
set -e
if test -z "${MH_OBJ_DIR}"; then
srcdir=`dirname $0`/../..
MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR
fi
. "$MH_OBJ_DIR/test/common.sh"
setup_test
require_locale $en_locales
expected=$MH_TEST_DIR/$$.expected
actual=$MH_TEST_DIR/$$.actual
#
# Write a message with some extended parameters
#
msgfile=`mhpath new`
cat > $msgfile <<EOF
To: recipient@example.com
From: sender@example.com
Subject: mhlist ext param test 1
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset=us-ascii;
name*=utf-8''This%20%C3%AFs%20the%20filename
This is a test
------- =_aaaaaaaaaa0
Content-Type: image/jpeg;
name*0="This is an example of a very long filename. I wonder ";
name*1=if;
name*2=" this filename might be too long. It should not be. But";
name*3=" will it be?.jpg"
Content-Disposition: attachment;
filename*0="This is an example of a very long filename. I wonder ";
filename*1=if;
filename*2=" this filename might be too long. It should not be. But";
filename*3=" will it be?.jpg"
Content-Transfer-Encoding: base64
/9g=
------- =_aaaaaaaaaa0--
EOF
# check to see if we decode parameters correctly.
run_test 'mhlist last -noheader -verbose -disposition' \
' 11 multipart/mixed 637
boundary="----- =_aaaaaaaaaa0"
1 text/plain 15
charset="us-ascii"
name="This ïs the filename"
2 image/jpeg 2
name="This is an example of a very long filename. I wonder if this filename might be too long. It should not be. But will it be?.jpg"
disposition "attachment"
filename="This is an example of a very long filename. I wonder if this filename might be too long. It should not be. But will it be?.jpg"'
#
# Make some more complicated message parameters.
#
msgfile=`mhpath new`
cat > $msgfile <<EOF
To: recipient@example.com
From: sender@example.com
Subject: mhlist ext param test 2
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset=us-ascii;
name*=utf-8''This%20%C3%AFs%20the%20filename
This is a test
------- =_aaaaaaaaaa0
Content-Type: image/jpeg; name*3=" will it be?.jpg";
longparam*5*=Sp%C4%B1n%CC%88al%20Tap!;
longparam*2=It; name*1=if;
longparam*3=" Might be our Long Lost Band";
longparam*0*=UTF-8'en'I%20Cannot%20Believe%20It;
name*0="This is an example of a very long filename. I wonder ";
longparam*4*=%20The%20%C3%96ne%20And%20Only%20;
name*2=" this filename might be too long. It should not be. But";
longparam*1=", it Looks Like "
Content-Transfer-Encoding: base64
/9g=
------- =_aaaaaaaaaa0--
EOF
run_test 'mhlist last -noheader -verbose' \
' 12 multipart/mixed 647
boundary="----- =_aaaaaaaaaa0"
1 text/plain 15
charset="us-ascii"
name="This ïs the filename"
2 image/jpeg 2
longparam="I Cannot Believe It, it Looks Like It Might be our Long Lost Band The Öne And Only Spın̈al Tap!"
name="This is an example of a very long filename. I wonder if this filename might be too long. It should not be. But will it be?.jpg"'
#
# Test out message/external-body types, and also make sure we will correctly
# decode a URL wrapped with RFC 2017 rules.
#
msgfile=`mhpath new`
cat > $msgfile <<EOF
To: recipient@example.com
From: sender@example.com
Subject: mhlist ext param test 3
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset=us-ascii;
name*=utf-8''This%20%C3%AFs%20the%20filename
This is a test
------- =_aaaaaaaaaa0
Content-Type: message/external-body; access-type="url";
url*1="/that/should-be-wrapped/image.jpeg";
url*0="http://www.kremvax.ru/this/is/an/example/of/a/very/long/url"
Content-Type: image/jpeg
Content-Description: Test of a long URL
Content-Disposition: attachment; filename=image.jpeg
------- =_aaaaaaaaaa0
Content-Type: message/external-body; access-type="url";
url*0="http://www.kremvax.ru/this/is/an/example/of/a/very/long/url
/that/should-be-wrapped/image.jpeg"
Content-Type: image/jpeg
Content-Description: Test of a long URL
Content-Disposition: attachment; filename=image.jpeg
------- =_aaaaaaaaaa0--
EOF
run_test 'mhlist last -noheader -verbose -disposition' \
' 13 multipart/mixed 775
boundary="----- =_aaaaaaaaaa0"
1 text/plain 15
charset="us-ascii"
name="This ïs the filename"
2 message/external-body 118
access-type="url"
url="http://www.kremvax.ru/this/is/an/example/of/a/very/long/url/that/should-be-wrapped/image.jpeg"
image/jpeg Test of a long URL
disposition "attachment"
filename="image.jpeg"
3 message/external-body 118
access-type="url"
url="http://www.kremvax.ru/this/is/an/example/of/a/very/long/url /that/should-be-wrapped/image.jpeg"
image/jpeg Test of a long URL
disposition "attachment"
filename="image.jpeg"'
exit $failed
|