#!/usr/bin/perl -w use strict; use Test::More tests => 28; use Test::Exception; use Data::Dumper; use File::Basename; use File::Spec::Functions; use lib "../lib"; use_ok("Devel::PerlySense"); use_ok("Devel::PerlySense::Document"); use_ok("Devel::PerlySense::Document::Meta"); BEGIN { -d "t" and chdir("t"); } ok(my $oDocument = Devel::PerlySense::Document->new(oPerlySense => Devel::PerlySense->new()), "new ok"); my $dirData = "data/project-lib"; my $fileOrigin = "$dirData/Game/Object/Worm.pm"; ok($oDocument->parse(file => $fileOrigin), "Parsed file ok"); my $oMeta = $oDocument->oMeta; is(scalar(keys %{$oMeta->rhRowColModule}), 18, " found correct number of modules"); is($oMeta->rhRowColModule->{23}->{5}->{oNode} . "", "Data::Dumper", " got module node"); is($oMeta->rhRowColModule->{23}->{5}->{module} . "", "Data::Dumper", " got module"); is($oMeta->rhRowColModule->{24}->{5}->{oNode} . "", "Game::Location", " got module node"); is($oMeta->rhRowColModule->{41}->{5}->{oNode} . "", "Exception::Class", " got module node"); is($oMeta->rhRowColModule->{152}->{24}->{oNode} . "", "Game::Event::Timed", " got module node"); is($oMeta->rhRowColModule->{318}->{13}->{oNode} . "", "ExceptionCouldNotMoveForward", " got module node"); is($oMeta->rhRowColModule->{156}->{17}->{oNode} . "", q{"Carp"}, " got module node, looks somewhat like module, and exists"); is($oMeta->rhRowColModule->{156}->{17}->{module} . "", "Carp", " got module node, looks somewhat like module, and exists"); is($oMeta->rhRowColModule->{157}->{14}->{oNode} . "", q{"File::Spec"}, " got module node, looks like module, good enough"); is($oMeta->rhRowColModule->{157}->{14}->{module} . "", "File::Spec", " got module node, looks like module, good enough"); is($oMeta->rhRowColModule->{171}->{14}->{module} . "", "None::Exsistent::Module", " got module, looks like module, good enough"); #print Dumper($oMeta->rhRowColModule->{42}); is($oMeta->rhRowColModule->{341}->{5}, undef, " no module at sub declaration"); is($oMeta->rhRowColModule->{341}->{28}, undef, " no module at variable name"); is($oMeta->rhRowColModule->{341}->{27}, undef, " no module at variable sigil"); is($oMeta->rhRowColModule->{332}->{1}, undef, " no module at nothing"); is($oMeta->rhRowColModule->{363}->{16}, undef, " no module at string literal"); is($oMeta->rhRowColModule->{365}->{5}, undef, " no module at keyword return"); is($oMeta->rhRowColModule->{161}->{47}, undef, " no module at method call"); is($oMeta->rhRowColModule->{145}->{29}, undef, " no module at numeric literal"); is($oMeta->rhRowColModule->{42}->{5}, undef, " no module at string literal 'Exception'"); is($oMeta->rhRowColModule->{159}->{16}, undef, ' no module at string literal "O"'); is($oMeta->rhRowColModule->{151}->{18}, undef, ' no module at string literal "white"'); __END__