Fix pod coverage test to actually exclude things that should be
[gitmo/Moose.git] / t / 040_type_constraints / 014_type_notation_parser.t
index f7f3908..03d1d76 100644 (file)
@@ -3,24 +3,32 @@
 use strict;
 use warnings;
 
-use Test::More tests => 26;
+use Test::More tests => 41;
 
 BEGIN {
     use_ok("Moose::Util::TypeConstraints");
 }
 
+=pod
+
+This is a good candidate for LectroTest
+Volunteers welcome :)
+
+=cut
+
 ## check the containers
 
-ok(Moose::Util::TypeConstraints::_detect_container_type_constraint($_), 
+ok(Moose::Util::TypeConstraints::_detect_parameterized_type_constraint($_), 
    '... this correctly detected a container (' . $_ . ')')
     for (
     'ArrayRef[Foo]',
     'ArrayRef[Foo | Int]',
     'ArrayRef[ArrayRef[Int]]', 
     'ArrayRef[ArrayRef[Int | Foo]]', 
+    'ArrayRef[ArrayRef[Int|Str]]',     
 );
 
-ok(!Moose::Util::TypeConstraints::_detect_container_type_constraint($_), 
+ok(!Moose::Util::TypeConstraints::_detect_parameterized_type_constraint($_), 
    '... this correctly detected a non-container (' . $_ . ')')
     for (
     'ArrayRef[]',
@@ -31,14 +39,16 @@ ok(!Moose::Util::TypeConstraints::_detect_container_type_constraint($_),
     my %split_tests = (
         'ArrayRef[Foo]'                 => [ 'ArrayRef', 'Foo' ],
         'ArrayRef[Foo | Int]'           => [ 'ArrayRef', 'Foo | Int' ],
+        'ArrayRef[Foo|Int]'             => [ 'ArrayRef', 'Foo|Int' ],        
         # these will get processed with recusion, 
         # so we only need to detect it once
         'ArrayRef[ArrayRef[Int]]'       => [ 'ArrayRef', 'ArrayRef[Int]' ], 
         'ArrayRef[ArrayRef[Int | Foo]]' => [ 'ArrayRef', 'ArrayRef[Int | Foo]' ],
+        'ArrayRef[ArrayRef[Int|Str]]'   => [ 'ArrayRef', 'ArrayRef[Int|Str]' ],        
     );
 
     is_deeply(
-        [ Moose::Util::TypeConstraints::_parse_container_type_constraint($_) ],
+        [ Moose::Util::TypeConstraints::_parse_parameterized_type_constraint($_) ],
         $split_tests{$_},
         '... this correctly split the container (' . $_ . ')'
     ) for keys %split_tests;
@@ -50,11 +60,17 @@ ok(Moose::Util::TypeConstraints::_detect_type_constraint_union($_),
    '... this correctly detected union (' . $_ . ')')
     for (
     'Int | Str',
+    'Int|Str',    
     'ArrayRef[Foo] | Int',
+    'ArrayRef[Foo]|Int',    
     'Int | ArrayRef[Foo]',
+    'Int|ArrayRef[Foo]',    
     'ArrayRef[Foo | Int] | Str',
+    'ArrayRef[Foo|Int]|Str',    
     'Str | ArrayRef[Foo | Int]', 
+    'Str|ArrayRef[Foo|Int]',     
     'Some|Silly|Name|With|Pipes | Int',   
+    'Some|Silly|Name|With|Pipes|Int',       
 );
 
 ok(!Moose::Util::TypeConstraints::_detect_type_constraint_union($_), 
@@ -62,17 +78,23 @@ ok(!Moose::Util::TypeConstraints::_detect_type_constraint_union($_),
     for (
     'Int',
     'ArrayRef[Foo | Int]',
-    'Some|Silly|Name|With|Pipes',
+    'ArrayRef[Foo|Int]',    
 );
 
 {
     my %split_tests = (
         'Int | Str'                        => [ 'Int', 'Str' ],
+        'Int|Str'                          => [ 'Int', 'Str' ],        
         'ArrayRef[Foo] | Int'              => [ 'ArrayRef[Foo]', 'Int' ],
+        'ArrayRef[Foo]|Int'                => [ 'ArrayRef[Foo]', 'Int' ],        
         'Int | ArrayRef[Foo]'              => [ 'Int', 'ArrayRef[Foo]' ],
+        'Int|ArrayRef[Foo]'                => [ 'Int', 'ArrayRef[Foo]' ],        
         'ArrayRef[Foo | Int] | Str'        => [ 'ArrayRef[Foo | Int]', 'Str' ],
+        'ArrayRef[Foo|Int]|Str'            => [ 'ArrayRef[Foo|Int]', 'Str' ],        
         'Str | ArrayRef[Foo | Int]'        => [ 'Str', 'ArrayRef[Foo | Int]' ],  
-        'Some|Silly|Name|With|Pipes | Int' => [ 'Some|Silly|Name|With|Pipes', 'Int' ],  
+        'Str|ArrayRef[Foo|Int]'            => [ 'Str', 'ArrayRef[Foo|Int]' ],          
+        'Some|Silly|Name|With|Pipes | Int' => [ 'Some', 'Silly', 'Name', 'With', 'Pipes', 'Int' ],  
+        'Some|Silly|Name|With|Pipes|Int'   => [ 'Some', 'Silly', 'Name', 'With', 'Pipes', 'Int' ],         
     );
 
     is_deeply(