Convert all tests to done_testing.
[gitmo/Moose.git] / t / 040_type_constraints / 009_union_types_and_coercions.t
index 147859b..88be3b6 100644 (file)
@@ -8,13 +8,9 @@ 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 => 29;    
+    plan skip_all => "IO::String and IO::File are required for this test" if $@;
 }
 
-BEGIN {
-    use_ok('Moose');           
-}
 
 {
     package Email::Moose;
@@ -46,12 +42,16 @@ 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::String|IO::File',
+        isa     => 'IO::StringOrFile',
         coerce  => 1,
         default => sub { IO::String->new() },
     );
@@ -68,93 +68,92 @@ 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');
 }
 
-
-
+done_testing;