#!/usr/bin/perl
use strict; use warnings;
use Data::Dumper;
use Test::More tests => 9;
use FindBin qw($Bin);
BEGIN {
use_ok( 'Perl::Tags' );
}
# a naive, yet exuberant tagger
my $naive_tagger = Perl::Tags::Naive->new(
max_level=>1,
exts =>1,
);
ok (defined $naive_tagger, 'created an exuberant tagger' );
isa_ok ($naive_tagger, 'Perl::Tags::Naive' );
isa_ok ($naive_tagger, 'Perl::Tags' );
my $result =
$naive_tagger->process(
files => [ "$Bin/Test.pm" ],
refresh=> 1
);
ok ($result, 'processed successfully' ) or diag "RESULT $result";
like ($naive_tagger, qr{Test\t\S+/Test.pm\t/\^package Test;\$/;"\tp\tline:3\tclass:Test} , 'package line');
like ($naive_tagger, qr{bar\t\S+/Test.pm\t/\^my \(\$foo, \$bar\);\$/;"\tv\tline:8\tfile:\tclass:Test} , 'variable 1');
like ($naive_tagger, qr{foo\t\S+/Test.pm\t/\^my \(\$foo, \$bar\);\$/;"\tv\tline:8\tfile:\tclass:Test} , 'variable 2');
like ($naive_tagger, qr{wibble\t\S+/Test.pm\t/\^sub wibble \{\$/;"\ts\tline:10\tclass:Test} , 'subroutine');