--- trunk/t/01-frey-classloader.t 2008/07/15 18:06:27 137 +++ trunk/t/01-frey-classloader.t 2008/11/18 14:07:28 412 @@ -4,7 +4,7 @@ my $debug = @ARGV ? 1 : 0; -use Test::More tests => 13; +use Test::More tests => 29; use lib 'lib'; #use Devel::LeakTrace::Fast; @@ -24,21 +24,41 @@ ok( defined $o->debug, 'debug' ); -ok( my $classes = $o->classes, 'classes' ); -diag dump( $classes ) if $debug; +ok( my @classes = $o->classes, 'classes' ); +diag dump( @classes ) if $debug; ok( $o->classes, 'classes again' ); -ok( $o->load_all_classes, 'load_all_classes' ); +ok( my $available = $o->load_all_classes, 'load_all_classes' ); +diag dump( $available ) if $debug; +isa_ok( $available, 'HASH' ); + +ok( $available->{$_}, "have $_" ) foreach ( qw/Frey Frey::Introspect Frey::Run/ ); # Module::Name => $is_role my $test = { 'Frey' => 0, 'Frey::Web' => 1, + 'Moose' => 0, + 'Fey' => 0, }; foreach my $p ( keys %$test ) { - ok( my ( $meta, $is_role ) = $o->load_package( $p ), "load_package( $p )" ); - is( $is_role, $test->{$p}, 'check role' ); + ok( my ( $meta, $is_role ) = $o->class_meta( $p ), "load_package( $p )" ); + is( $is_role, $test->{$p}, $is_role ? 'role' : 'not role' ); diag $meta->dump(2) if $debug; } + +my $methods = { + 'Frey::Config' => [ 'config', 'load_config' ], + 'Frey::Editor' => [ 'url_regex', 'command' ], +}; + +foreach my $class ( keys %$methods ) { + ok( my @m = $o->class_methods($class), "class_methods( $class ) as array" ); + diag dump( @m ); + is_deeply( \@m, $methods->{$class}, 'without meta' ); + foreach my $method ( @{ $methods->{$class} } ) { + ok( $o->class_methods($class)->{ $method }, "$class has $method" ); + } +}