diff options
Diffstat (limited to 't/email.t')
-rw-r--r-- | t/email.t | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/t/email.t b/t/email.t new file mode 100644 index 0000000..f2208a6 --- /dev/null +++ b/t/email.t @@ -0,0 +1,44 @@ +#!perl6 +use v6.d.PREVIEW; +use Test; +use MaildirIndexer::Email; + +subtest 'no values' => { + my $email = MaildirIndexer::Email.new( + headers => %(), + body => '', + ); + + is-deeply $email.message-id, '', 'message id should parse'; + is-deeply $email.refs, qw[], 'refs should parse'; +} + +subtest 'bad values' => { + my $email = MaildirIndexer::Email.new( + headers => %( + message-id => 'some stuff here', + in-reply-to => 'none', + references => 'bad garbage', + ), + body => '', + ); + + is-deeply $email.message-id, '', 'message id should parse'; + is-deeply $email.refs, qw[], 'refs should parse'; +} + +subtest 'all values' => { + my $email = MaildirIndexer::Email.new( + headers => %( + message-id => 'some <stuff> here', + in-reply-to => '<one>', + references => 'bad <two> garbage <three>', + ), + body => '', + ); + + is-deeply $email.message-id, 'stuff', 'message id should parse'; + is-deeply $email.refs, qw[one three two], 'refs should parse'; +} + +done-testing; |