X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F040_type_constraints%2F009_union_types_and_coercions.t;h=20690d984cb332f287075a931b8658228ff8862a;hb=d03bd989b97597428b460d7f9a021e2931893fa0;hp=69254f57daf37dd61197f9764b0e482e383798a6;hpb=f6bee6fe1d579dc3d2ed2952cce9a1556040c8e5;p=gitmo%2FMoose.git diff --git a/t/040_type_constraints/009_union_types_and_coercions.t b/t/040_type_constraints/009_union_types_and_coercions.t index 69254f5..20690d9 100644 --- a/t/040_type_constraints/009_union_types_and_coercions.t +++ b/t/040_type_constraints/009_union_types_and_coercions.t @@ -8,8 +8,8 @@ use Test::Exception; BEGIN { eval "use IO::String; use IO::File;"; - plan skip_all => "IO::String and IO::File are required for this test" if $@; - plan tests => 28; + plan skip_all => "IO::String and IO::File are required for this test" if $@; + plan tests => 28; } @@ -44,13 +44,13 @@ BEGIN { coerce 'IO::File' => from 'FileHandle' => via { bless $_, 'IO::File' }; - + # create the alias - + subtype 'IO::StringOrFile' => as 'IO::String | IO::File'; - + # attributes - + has 'raw_body' => ( is => 'rw', isa => 'IO::StringOrFile', @@ -70,90 +70,90 @@ BEGIN { isa_ok($email, 'Email::Moose'); isa_ok($email->raw_body, 'IO::String'); - + is($email->as_string, undef, '... got correct empty string'); } { my $email = Email::Moose->new(raw_body => '... this is my body ...'); isa_ok($email, 'Email::Moose'); - + isa_ok($email->raw_body, 'IO::String'); - - is($email->as_string, '... this is my body ...', '... got correct string'); - + + is($email->as_string, '... this is my body ...', '... got correct string'); + lives_ok { - $email->raw_body('... this is the next body ...'); + $email->raw_body('... this is the next body ...'); } '... this will coerce correctly'; - + isa_ok($email->raw_body, 'IO::String'); - - is($email->as_string, '... this is the next body ...', '... got correct string'); + + is($email->as_string, '... this is the next body ...', '... got correct string'); } { my $str = '... this is my body (ref) ...'; - + my $email = Email::Moose->new(raw_body => \$str); isa_ok($email, 'Email::Moose'); - + isa_ok($email->raw_body, 'IO::String'); - - is($email->as_string, $str, '... got correct string'); - - my $str2 = '... this is the next body (ref) ...'; - + + is($email->as_string, $str, '... got correct string'); + + my $str2 = '... this is the next body (ref) ...'; + lives_ok { - $email->raw_body(\$str2); + $email->raw_body(\$str2); } '... this will coerce correctly'; - + isa_ok($email->raw_body, 'IO::String'); - - is($email->as_string, $str2, '... got correct string'); + + is($email->as_string, $str2, '... got correct string'); } { my $io_str = IO::String->new('... this is my body (IO::String) ...'); - + my $email = Email::Moose->new(raw_body => $io_str); isa_ok($email, 'Email::Moose'); - + isa_ok($email->raw_body, 'IO::String'); is($email->raw_body, $io_str, '... and it is the one we expected'); - - is($email->as_string, '... this is my body (IO::String) ...', '... got correct string'); - - my $io_str2 = IO::String->new('... this is the next body (IO::String) ...'); - + + is($email->as_string, '... this is my body (IO::String) ...', '... got correct string'); + + my $io_str2 = IO::String->new('... this is the next body (IO::String) ...'); + lives_ok { - $email->raw_body($io_str2); + $email->raw_body($io_str2); } '... this will coerce correctly'; - + isa_ok($email->raw_body, 'IO::String'); is($email->raw_body, $io_str2, '... and it is the one we expected'); - - is($email->as_string, '... this is the next body (IO::String) ...', '... got correct string'); + + is($email->as_string, '... this is the next body (IO::String) ...', '... got correct string'); } { my $fh; - + open($fh, '<', $0) || die "Could not open $0"; - + my $email = Email::Moose->new(raw_body => $fh); isa_ok($email, 'Email::Moose'); - + isa_ok($email->raw_body, 'IO::File'); - + close($fh); } { my $fh = IO::File->new($0); - + my $email = Email::Moose->new(raw_body => $fh); isa_ok($email, 'Email::Moose'); - + isa_ok($email->raw_body, 'IO::File'); is($email->raw_body, $fh, '... and it is the one we expected'); }