X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/46035648b01cf0b4fc4eefd850c0b8e777a33cc0..96da769f8bce5a6b0b1ffc6bb343b6d103c3d8bb:/test/mhbuild/test-header-encode?ds=sidebyside diff --git a/test/mhbuild/test-header-encode b/test/mhbuild/test-header-encode index b26298ba..799e1a91 100755 --- a/test/mhbuild/test-header-encode +++ b/test/mhbuild/test-header-encode @@ -115,4 +115,131 @@ run_test 'eval fmttest -outsize max -format "%(decode{subject})" -message -file rm -f "${testname}.basic.autopick" +# +# Tests using longer subject lines. +# + +cat > "${testname}.longsubject1.actual" < +To: Somebody +Subject: This is ä tëst of a rather long sübject line; will it overflow + the line length? I sure hope thät ='s and _'s are encoded properly. Will + they be? + +This is a test of a very long subject line. +EOF + +cat > "${testname}.longsubject1.expected" < +To: Somebody +Subject: =?UTF-8?Q?This_is_=C3=A4_t=C3=ABst_of_a_rather_long_s=C3=BCbject_?= + =?UTF-8?Q?line;_will_it_overflow_the_line_length=3F__I_sure_hope_?= + =?UTF-8?Q?th=C3=A4t_=3D's_and_=5F's_are_encoded_properly.__Will_t?= + =?UTF-8?Q?hey_be=3F?= +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" + +This is a test of a very long subject line. +EOF + +mhbuild "${testname}.longsubject1.actual" + +check "${testname}.longsubject1.actual" "${testname}.longsubject1.expected" 'keep first' + +run_test 'eval fmttest -outsize max -format "%(putlit(decode(trim{subject})))" -message -file "${testname}.longsubject1.actual"' "This is ä tëst of a rather long sübject line; will it overflow the line length? I sure hope thät ='s and _'s are encoded properly. Will they be?" + +rm -f "${testname}.longsubject1.actual" + +# +# Test a longer line with base64 encoding +# + +cat > "${testname}.longsubject2.actual" < +To: Somebody +Subject: This is ä tëst øf ä räthër løng sübjëct line; will it øvërfløw + the line length? I sure hope thät ='s and "'s are encoded properly. Will + they be? + +This is a test of a very long subject line using base64. +EOF + +cat > "${testname}.longsubject2.expected" < +To: Somebody +Subject: =?UTF-8?B?VGhpcyBpcyDDpCB0w6tzdCDDuGYgw6QgcsOkdGjDq3IgbMO4bmcg?= + =?UTF-8?B?c8O8YmrDq2N0IGxpbmU7IHdpbGwgaXQgw7h2w6tyZmzDuHcgdGhl?= + =?UTF-8?B?IGxpbmUgbGVuZ3RoPyAgSSBzdXJlIGhvcGUgdGjDpHQgPSdzIGFu?= + =?UTF-8?B?ZCAiJ3MgYXJlIGVuY29kZWQgcHJvcGVybHkuICBXaWxsIHRoZXkg?= + =?UTF-8?B?YmU/?= +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" + +This is a test of a very long subject line using base64. +EOF + +mhbuild "${testname}.longsubject2.actual" + +check "${testname}.longsubject2.actual" "${testname}.longsubject2.expected" 'keep first' + +run_test 'eval fmttest -outsize max -format "%(putlit(decode(trim{subject})))" -message -file "${testname}.longsubject2.actual"' "This is ä tëst øf ä räthër løng sübjëct line; will it øvërfløw the line length? I sure hope thät ='s and \"'s are encoded properly. Will they be?" + +# +# Test out some basic email address encoding +# + +cat > "${testname}.basicemail1.actual" < +To: Somebody +Subject: Impørtant stuff + +This is important information +EOF + +cat > "${testname}.basicemail1.expected" < +To: Somebody +Subject: =?UTF-8?Q?Imp=C3=B8rtant_stuff?= +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" + +This is important information +EOF + +mhbuild "${testname}.basicemail1.actual" + +check "${testname}.basicemail1.actual" "${testname}.basicemail1.expected" 'keep first' + +run_test 'eval fmttest -outsize max -format "%(decode{from})" -message -file "${testname}.basicemail1.actual"' "Mr Foo Bär " +run_test 'eval fmttest -outsize max -format "%(decode(friendly{from}))" -message -file "${testname}.basicemail1.actual"' "Mr Foo Bär" + +rm -f "${testname}.basicemail1.actual" + +cat > "${testname}.basicemail2.actual" < +Subject: Impørtant stuff + +This is important information +EOF + +cat > "${testname}.basicemail2.expected" < +Subject: =?UTF-8?Q?Imp=C3=B8rtant_stuff?= +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" + +This is important information +EOF + +mhbuild "${testname}.basicemail2.actual" + +check "${testname}.basicemail2.actual" "${testname}.basicemail2.expected" 'keep first' + +run_test 'eval fmttest -outsize max -format "%(decode{from})" -message -file "${testname}.basicemail2.actual"' "foobar@example.com (Mr Foo Bär)" +run_test 'eval fmttest -outsize max -format "%(decode(friendly{from}))" -message -file "${testname}.basicemail2.actual"' "Mr Foo Bär" + +rm -f "${testname}.basicemail2.actual" + exit ${failed:-0}