File: print.t

package info (click to toggle)
libemail-sender-perl 1.300031-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 528 kB
  • sloc: perl: 2,288; makefile: 2
file content (50 lines) | stat: -rw-r--r-- 1,113 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!perl
use strict;
use warnings;
use Test::More tests => 4;

use Email::Sender;
use Email::Sender::Transport::Print;

{
  package CP;
  sub new    { bless { str => '' } => $_[0] }
  sub print  { shift->{str} .= join '', @_ }
  sub printf { shift->{str} .= sprintf shift, @_ }
  sub isa    { return 1 if $_[1] eq 'IO::Handle' }
}

my $xport = Email::Sender::Transport::Print->new({ fh => CP->new });
ok($xport->does('Email::Sender::Transport'));
isa_ok($xport, 'Email::Sender::Transport::Print');

my $message = <<'END_MESSAGE';
From: from@test.example.com
To: to@nowhere.example.net
Subject: this message is going nowhere fast

Dear Recipient,

  You will never receive this.

-- 
sender
END_MESSAGE

my $want = <<"END_WANT";
ENVELOPE TO  : rcpt\@nowhere.example.net
ENVELOPE FROM: sender\@test.example.com
---------- begin message
$message---------- end message
END_WANT

my $result = $xport->send(
  $message,
  {
    to   => [ 'rcpt@nowhere.example.net' ],
    from => 'sender@test.example.com',
  },
);

isa_ok($result, 'Email::Sender::Success');
is($xport->fh->{str}, $want, 'what we expected got printed');