diff options
-rw-r--r-- | mmime.c | 2 | ||||
-rwxr-xr-x | t/1000-mmime.t | 29 |
2 files changed, 29 insertions, 2 deletions
diff --git a/mmime.c b/mmime.c index 77be4c8..4f06826 100644 --- a/mmime.c +++ b/mmime.c @@ -367,7 +367,7 @@ valid_content_type(char *s) if (*s == '/') slash++; else if (isalnum(*s) || *s == '-' || *s == '+' || *s == '.' || - *s == ';' || *s == '=') + *s == ';' || *s == '=' || *s == '#') ; /* ok */ else return 0; diff --git a/t/1000-mmime.t b/t/1000-mmime.t index ab52aa1..b0b0dc5 100755 --- a/t/1000-mmime.t +++ b/t/1000-mmime.t @@ -1,7 +1,7 @@ #!/bin/sh -e cd ${0%/*} . ./lib.sh -plan 4 +plan 8 cat <<EOF >tmp References: <aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@a> <bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@b> <ccccccccccccccccccccccccccccccc@c> @@ -15,3 +15,30 @@ check 'mime -r runs' 'mmime -r <tmp >tmp2' check 'no overlong lines' 'awk "{if(length(\$0)>=80)exit 1}" <tmp2' check 'no QP when unecessary' ! grep -qF "=?" tmp2 check 'no further mime necessary' 'mmime -c <tmp2' + +cat <<EOF >tmp2 +Subject: inclusion test + +#message/rfc822 $PWD/tmp +EOF + +check 'include works' 'mmime <tmp2 | grep Body' +check 'include sets filename' 'mmime <tmp2 | grep filename=tmp' + + +cat <<EOF >tmp2 +Subject: inclusion test no filename + +#message/rfc822 $PWD/tmp> +EOF + +check 'include works, overriding filename' 'mmime <tmp2 | grep Disposition | grep -v filename=tmp' + + +cat <<EOF >tmp2 +Subject: inclusion test with other disposition + +#message/rfc822#inline $PWD/tmp> +EOF + +check 'include works, overriding filename' 'mmime <tmp2 | grep Disposition | grep inline' |