diff options
| author | Sam Varshavchik | 2013-08-26 19:41:57 -0400 | 
|---|---|---|
| committer | Sam Varshavchik | 2013-08-28 21:07:40 -0400 | 
| commit | e0a0a6eba9f31aea09624b3ea21fb75107c96780 (patch) | |
| tree | 4abeeb6b18ddbde710c292c3fc6a170f53492797 /maildrop/testsuite2 | |
| parent | 88fcede4132f42e2297d11832cf6c7e047c71ce8 (diff) | |
| download | courier-libs-e0a0a6eba9f31aea09624b3ea21fb75107c96780.tar.bz2 | |
maildrop: handle MIME encoding when searching messages.
Use rfc2045_decodmsgtoutf8() to decode entire message into UTF-8, before
searching it.
Diffstat (limited to 'maildrop/testsuite2')
| -rw-r--r-- | maildrop/testsuite2 | 229 | 
1 files changed, 229 insertions, 0 deletions
| diff --git a/maildrop/testsuite2 b/maildrop/testsuite2 new file mode 100644 index 0000000..7540536 --- /dev/null +++ b/maildrop/testsuite2 @@ -0,0 +1,229 @@ +cat >testsuite.msg <<EOF +From: =?iso-8859-1?q?h=E9ader?= <nobody@example.com> +Mime-Version: 1.0 +Content-Type: multipart/mixed; boundary=zzz + +--zzz +Subject: =?iso-8859-1?q?t=E9st?= +Content-Type: text/plain; charset=iso-8859-1 +Content-Transfer-Encoding: quoted-printable + +b=F6dy + +test +EOF + +cat >testsuite1.filter <<EOF +if (/héader/) +{ +   EXITCODE=0 +   exit +} +EXITCODE=1 +exit +EOF + +cat >testsuite2.filter <<EOF +if (/héader/:h) +{ +   EXITCODE=0 +   exit +} +EXITCODE=1 +exit +EOF +cat >testsuite3.filter <<EOF +if (/héader/:b) +{ +   EXITCODE=0 +   exit +} +EXITCODE=1 +exit +EOF + +cat >testsuite4.filter <<EOF +if (/tést/:h) +{ +   EXITCODE=0 +   exit +} +EXITCODE=1 +exit +EOF + +cat >testsuite5.filter <<EOF +if (/bödy/:b) +{ +   EXITCODE=0 +   exit +} +EXITCODE=1 +exit +EOF + +chmod 600 ./testsuite1.filter ./testsuite2.filter ./testsuite3.filter ./testsuite4.filter ./testsuite5.filter + +type="small message" + +# Small file +if ./maildrop ./testsuite1.filter <testsuite.msg +then +    : +else +    echo "Test 1 failed: $type" +    exit 1 +fi + +if ./maildrop ./testsuite2.filter <testsuite.msg +then +    : +else +    echo "Test 2 failed: $type" +    exit 1 +fi + +if ./maildrop ./testsuite3.filter <testsuite.msg +then +    echo "Test 3 failed: $type" +    exit 1 +fi + +if ./maildrop ./testsuite4.filter <testsuite.msg +then +    : +else +    echo "Test 4 failed: $type" +    exit 1 +fi + +if ./maildrop ./testsuite5.filter <testsuite.msg +then +    : +else +    echo "Test 5 failed: $type" +    exit 1 +fi + +type="small pipe" +if cat testsuite.msg | ./maildrop ./testsuite1.filter +then +    : +else +    echo "Test 1 failed: $type" +    exit 1 +fi + +if cat testsuite.msg | ./maildrop ./testsuite2.filter +then +    : +else +    echo "Test 2 failed: $type" +    exit 1 +fi + +if cat testsuite.msg | ./maildrop ./testsuite3.filter +then +    echo "Test 3 failed: $type" +    exit 1 +fi + +if cat testsuite.msg | ./maildrop ./testsuite4.filter +then +    : +else +    echo "Test 4 failed: $type" +    exit 1 +fi + +if cat testsuite.msg | ./maildrop ./testsuite5.filter +then +    : +else +    echo "Test 5 failed: $type" +    exit 1 +fi + +dd if="/dev/zero" bs=8192 count=2 2>/dev/null | tr '\0' '\012' >>testsuite.msg + +type="large message" + +# Large file +if ./maildrop ./testsuite1.filter <testsuite.msg +then +    : +else +    echo "Test 1 failed: $type" +    exit 1 +fi + +if ./maildrop ./testsuite2.filter <testsuite.msg +then +    : +else +    echo "Test 2 failed: $type" +    exit 1 +fi + +if ./maildrop ./testsuite3.filter <testsuite.msg +then +    echo "Test 3 failed: $type" +    exit 1 +fi + +if ./maildrop ./testsuite4.filter <testsuite.msg +then +    : +else +    echo "Test 4 failed: $type" +    exit 1 +fi + +if ./maildrop ./testsuite5.filter <testsuite.msg +then +    : +else +    echo "Test 5 failed: $type" +    exit 1 +fi + +type="large pipe" +if cat testsuite.msg | ./maildrop ./testsuite1.filter +then +    : +else +    echo "Test 1 failed: $type" +    exit 1 +fi + +if cat testsuite.msg | ./maildrop ./testsuite2.filter +then +    : +else +    echo "Test 2 failed: $type" +    exit 1 +fi + +if cat testsuite.msg | ./maildrop ./testsuite3.filter +then +    echo "Test 3 failed: $type" +    exit 1 +fi + +if cat testsuite.msg | ./maildrop ./testsuite4.filter +then +    : +else +    echo "Test 4 failed: $type" +    exit 1 +fi + +if cat testsuite.msg | ./maildrop ./testsuite5.filter +then +    : +else +    echo "Test 5 failed: $type" +    exit 1 +fi + +rm -f testsuite?.filter testsuite.msg | 
