use Test::More 'no_plan'; use Test::NoWarnings; use strict; use Path::Class; BEGIN { chdir 't' if -d 't' }; BEGIN { use lib qw[../lib inc] }; BEGIN { require 'conf.pl' } BEGIN { require 'pkg.pl' } BEGIN { require 'repo.pl' } use JIB::Config; my $Conf = JIB::Config->new; my $Class = 'JIB::Package'; my @Acc = sort qw[package file config meta repository]; ### XXX config my $Pkg = $PKGS{'p5-Foo-Bar-1.2-cpan+KANE'}; my $File = $Pkg->file; use_ok( $Class ); ### create an object my $Obj; { ### XXX ugly amount of args $Obj = $Class->new(file => $File, meta => $Pkg->meta, repository => $REPO); ok( $Obj, "Object created" ); isa_ok( $Obj, 'JIB::Package::Installable' ); my @can = sort $Obj->ls_accessors; ok( scalar(@can), " Object has accessors" ); is_deeply( \@can, \@Acc, " Object can do what it should" ); for my $method ( @can ) { ok( $Obj->$method, " '$method' returns value" ); } } ### sanity checks { is($Obj->repository, $REPO, "Repository linked from object" ); } # Local variables: # c-indentation-style: bsd # c-basic-offset: 4 # indent-tabs-mode: nil # End: # vim: expandtab shiftwidth=4: