From ac1efa827c1fe4c166a44f0414a47b3788ea5017 Mon Sep 17 00:00:00 2001 From: dakkar Date: Fri, 16 Nov 2018 13:00:43 +0000 Subject: test email --- lib/MaildirIndexer/Email.pm6 | 2 +- t/email.t | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 t/email.t diff --git a/lib/MaildirIndexer/Email.pm6 b/lib/MaildirIndexer/Email.pm6 index e5454e1..993d8b1 100644 --- a/lib/MaildirIndexer/Email.pm6 +++ b/lib/MaildirIndexer/Email.pm6 @@ -6,7 +6,7 @@ has $!body; method BUILD(:%!headers,:$!body) { } -method message-id { split-refs(%!headers)[0] } +method message-id { split-refs(%!headers)[0] // '' } method refs { return ( |split-refs(%!headers), 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 here', + in-reply-to => '', + references => 'bad garbage ', + ), + body => '', + ); + + is-deeply $email.message-id, 'stuff', 'message id should parse'; + is-deeply $email.refs, qw[one three two], 'refs should parse'; +} + +done-testing; -- cgit v1.2.3