#!/usr/bin/perl use lib "lib", "t"; use MIME::Lite; use Test::More; use Utils; if (eval { require MIME::Types; MIME::Types->VERSION(1.28); 1 }) { plan tests => 1; } else { plan skip_all => "MIME::Types >= 1.28 not available"; } $MIME::Lite::VANILLA = 1; # warn "#\n#Testing MIME::Types interaction\n"; my $msg = MIME::Lite->new( From => 'me@myhost.com', To => 'you@yourhost.com', Cc => 'some@other.com, some@more.com', Subject => 'Helloooooo, nurse!', Data => "How's it goin', eh?" ); # this test requires output in a particular order, so specify it $msg->field_order(qw( Content-Transfer-Encoding Content-Type MIME-Version From To Cc Subject )); $msg->attach( Type => 'AUTO', Path => "./testin/test.html", ReadNow => 1, Filename => "test.html", ); (my $ret=$msg->stringify)=~s/^Date:.*\n//m; my $expect=<<'EOFEXPECT'; Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_0" MIME-Version: 1.0 From: me@myhost.com To: you@yourhost.com Cc: some@other.com, some@more.com Subject: Helloooooo, nurse! This is a multi-part message in MIME format. --_----------=_0 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain How's it goin', eh? --_----------=_0 Content-Disposition: inline; filename="test.html" Content-Transfer-Encoding: 8bit Content-Type: text/html; name="test.html" This isn't really html. We are only checking the filename silly. --_----------=_0-- EOFEXPECT is($ret, $expect, "we got the message we expected");