Ticket #401: update_test_09-outline-t.patch

File update_test_09-outline-t.patch, 2.8 KB (added by buff3r, 3 years ago)

patch to 09-outline.t to test for bareword attribute names

  • PPIx-EditorTools/t/09-outline.t

     
    123123                ], 
    124124                'methods' => [ 
    125125                    {   'name' => 'pub_sub', 
    126                         'line' => 12, 
     126                        'line' => 14, 
    127127                    }, 
    128128                    {   'name' => '_pri_sub', 
    129                         'line' => 16, 
     129                        'line' => 18, 
    130130                    }, 
    131131                    {   'name' => 'mm_before', 
    132                         'line' => 20 
     132                        'line' => 22 
    133133                    }, 
    134134                    {   'name' => 'mm_after', 
    135                         'line' => 24 
     135                        'line' => 26 
    136136                    }, 
    137137                    {   'name' => 'mm_around', 
    138                         'line' => 28 
     138                        'line' => 30 
    139139                    }, 
    140140                    {   'name' => 'mm_override', 
    141                         'line' => 32 
     141                        'line' => 34 
    142142                    }, 
    143143                    {   'name' => 'mm_augment', 
    144                         'line' => 36 
     144                        'line' => 38 
    145145                    }, 
    146146                ], 
    147147                'line'       => 3, 
     
    168168                    {   'name' => 'account', 
    169169                        'line' => 10 
    170170                    }, 
     171                    { 
     172                        'name' => 'non_quoted_attr', 
     173                            'line' => 12 
     174                    }, 
    171175                ], 
    172176            } 
    173177        ], 
    174178    }, 
     179    # can we do the same thing with vanilla Moose class definitions? 
     180    {   file     => 't/outline/MooclassVanilla.pm', 
     181        expected => [ 
     182            {   'modules' => [ 
     183                    {   'name' => 'Moose', 
     184                        'line' => 3, 
     185                    }, 
     186                ], 
     187                'methods' => [ 
     188                    {   'name' => 'pub_sub', 
     189                        'line' => 14, 
     190                    }, 
     191                    {   'name' => '_pri_sub', 
     192                        'line' => 18, 
     193                    }, 
     194                    {   'name' => 'mm_before', 
     195                        'line' => 22 
     196                    }, 
     197                    {   'name' => 'mm_after', 
     198                        'line' => 26 
     199                    }, 
     200                    {   'name' => 'mm_around', 
     201                        'line' => 30 
     202                    }, 
     203                    {   'name' => 'mm_override', 
     204                        'line' => 34 
     205                    }, 
     206                    {   'name' => 'mm_augment', 
     207                        'line' => 38 
     208                    }, 
     209                ], 
     210                'line'       => 1, 
     211                'name'       => 'Moose::Declarations::MethodModifiers::Vanilla', 
     212                'attributes' => [ 
     213                    {   'name' => 'moo_att', 
     214                        'line' => 5 
     215                    }, 
     216                    {   'name' => 'label', 
     217                        'line' => 7 
     218                    }, 
     219                    {   'name' => 'progress', 
     220                        'line' => 7 
     221                    }, 
     222                    {   'name' => 'butWarn', 
     223                        'line' => 7 
     224                    }, 
     225                    {   'name' => 'butTime', 
     226                        'line' => 7 
     227                    }, 
     228                    {   'name' => 'start_stop', 
     229                        'line' => 7 
     230                    }, 
     231                    {   'name' => 'account', 
     232                        'line' => 10 
     233                    }, 
     234                    { 
     235                        'name' => 'non_quoted_attr', 
     236                            'line' => 12 
     237                    }, 
     238                ], 
     239            } 
     240        ], 
     241    }, 
    175242    {   file     => 't/outline/Moorole.pm', 
    176243        expected => [ 
    177244            {   'modules' => [ 
     
    241308foreach my $c (@cases) { 
    242309    my $code = $c->{code}; 
    243310    if ( $c->{file} ) { 
    244         open my $fh, '<', $c->{file} or die; 
     311        open my $fh, '<', $c->{file} or die ("couldn't read file: ",$c->{file}, ": $!"); 
    245312        local $/ = undef; 
    246313        $code = <$fh>; 
    247314    } 
    248315    my $outline = PPIx::EditorTools::Outline->new->find( code => $code ); 
    249  
     316     
    250317    #diag explain $outline; 
    251318    is_deeply $outline, $c->{expected} or diag explain $outline; 
    252319}