#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Test::More tests => 11; use FindBin qw($Bin); use lib ($Bin); use_ok( 'TodoTagger' ); # test class my $todo_tagger = TodoTagger->new( max_level=>1 ); ok (defined $todo_tagger, 'created Perl::Tags' ); isa_ok ($todo_tagger, 'TodoTagger' ); isa_ok ($todo_tagger, 'Perl::Tags::Naive' ); isa_ok ($todo_tagger, 'Perl::Tags' ); my $result = $todo_tagger->process( files => [ "$Bin/Test.pm" ], refresh=> 1 ); ok ($result, 'processed successfully' ) or diag "RESULT $result"; like ($todo_tagger, qr{Test\t\S+/Test.pm\t/package Test;/} , 'package line'); like ($todo_tagger, qr{bar\t\S+/Test.pm\t/my \(\$foo, \$bar\);/} , 'variable 1'); like ($todo_tagger, qr{foo\t\S+/Test.pm\t/my \(\$foo, \$bar\);/} , 'variable 2'); like ($todo_tagger, qr{wibble\t\S+/Test.pm\t/sub wibble \{/} , 'subroutine'); like ($todo_tagger, qr{TODO\t\S+/Test.pm\t/# TODO: test this line/}, "subclass's TODO tag");