#!/usr/bin/perl -w
use strict;
use Test::More tests => 15;
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"); }
my $dirData = "data/project-lib";
my $oMeta;
{
my $fileOrigin = "$dirData/Game/Object/Worm/Bot.pm";
ok(my $oDocument = Devel::PerlySense::Document->new(oPerlySense => Devel::PerlySense->new()), "new ok");
ok($oDocument->parse(file => $fileOrigin), "Parsed file ok");
$oMeta = $oDocument->oMeta;
is_deeply([sort @{$oMeta->raNameModuleBase}], [
sort qw/
Game::Object::Worm
/], " correct used modules");
}
{
my $fileOrigin = "$dirData/Game/Object/Worm/ShaiHulud.pm";
ok(my $oDocument = Devel::PerlySense::Document->new(oPerlySense => Devel::PerlySense->new()), "new ok");
ok($oDocument->parse(file => $fileOrigin), "Parsed file ok");
$oMeta = $oDocument->oMeta;
is_deeply([sort @{$oMeta->raNameModuleBase}], [
sort qw/
Game::Object::Worm
Game::Lawn
/], " correct used modules");
}
{
my $fileOrigin = "$dirData/Game/Object/Worm/Shaitan.pm";
ok(my $oDocument = Devel::PerlySense::Document->new(oPerlySense => Devel::PerlySense->new()), "new ok");
ok($oDocument->parse(file => $fileOrigin), "Parsed file ok");
$oMeta = $oDocument->oMeta;
is_deeply([sort @{$oMeta->raNameModuleBase}], [
sort qw/
Game::Lawn
Game::Object::Worm
/], " correct used modules");
}
{
my $fileOrigin = "data/inc-lib/SubClass.pm";
ok(my $oDocument = Devel::PerlySense::Document->new(oPerlySense => Devel::PerlySense->new()), "new ok");
ok($oDocument->parse(file => $fileOrigin), "Parsed file ok");
$oMeta = $oDocument->oMeta;
is_deeply([sort @{$oMeta->raNameModuleBase}], [
sort qw/
Class::IsaAssignmentScalar
Class::IsaAssignmentList1
Class::IsaAssignmentList2
Class::IsaAssignmentQwList1
Class::IsaAssignmentQwList2
Class::PushIsa
Class::PushAnotherIsa
Class::UseBaseScalar
Class::UseBaseBareList1
Class::UseBaseBareList2
Class::UseBaseList1
Class::UseBaseList2
Class::UseBaseQw1
Class::UseBaseQw2
/], " correct used modules");
}
__END__