/[Frey]/trunk/t/01-frey-classloader.t
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/t/01-frey-classloader.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 412 - (hide annotations)
Tue Nov 18 14:07:28 2008 UTC (15 years, 5 months ago) by dpavlin
File MIME type: application/x-troff
File size: 1552 byte(s)
test class and role class_methods
1 dpavlin 100 #!/usr/bin/perl
2     use strict;
3     use warnings;
4    
5     my $debug = @ARGV ? 1 : 0;
6    
7 dpavlin 412 use Test::More tests => 29;
8 dpavlin 100 use lib 'lib';
9    
10     #use Devel::LeakTrace::Fast;
11     use Data::Dump qw/dump/;
12    
13     BEGIN {
14     use_ok('Frey::ClassLoader');
15     }
16    
17     ok( my $o = Frey::ClassLoader->new( debug => $debug ), 'new' );
18     isa_ok( $o, 'Frey::ClassLoader' );
19     diag dump( $o ) if $debug;
20    
21     ok( $o->meta, 'has meta' );
22     #diag dump( $o->meta );
23     is( $o->meta->name, 'Frey::ClassLoader', 'meta->name' );
24    
25     ok( defined $o->debug, 'debug' );
26    
27 dpavlin 308 ok( my @classes = $o->classes, 'classes' );
28     diag dump( @classes ) if $debug;
29 dpavlin 100
30     ok( $o->classes, 'classes again' );
31    
32 dpavlin 308 ok( my $available = $o->load_all_classes, 'load_all_classes' );
33 dpavlin 412 diag dump( $available ) if $debug;
34 dpavlin 308 isa_ok( $available, 'HASH' );
35 dpavlin 137
36 dpavlin 308 ok( $available->{$_}, "have $_" ) foreach ( qw/Frey Frey::Introspect Frey::Run/ );
37    
38 dpavlin 137 # Module::Name => $is_role
39     my $test = {
40     'Frey' => 0,
41     'Frey::Web' => 1,
42 dpavlin 382 'Moose' => 0,
43     'Fey' => 0,
44 dpavlin 137 };
45    
46     foreach my $p ( keys %$test ) {
47 dpavlin 308 ok( my ( $meta, $is_role ) = $o->class_meta( $p ), "load_package( $p )" );
48 dpavlin 330 is( $is_role, $test->{$p}, $is_role ? 'role' : 'not role' );
49 dpavlin 137 diag $meta->dump(2) if $debug;
50     }
51 dpavlin 409
52     my $methods = {
53 dpavlin 412 'Frey::Config' => [ 'config', 'load_config' ],
54 dpavlin 409 'Frey::Editor' => [ 'url_regex', 'command' ],
55     };
56    
57     foreach my $class ( keys %$methods ) {
58     ok( my @m = $o->class_methods($class), "class_methods( $class ) as array" );
59     diag dump( @m );
60     is_deeply( \@m, $methods->{$class}, 'without meta' );
61     foreach my $method ( @{ $methods->{$class} } ) {
62     ok( $o->class_methods($class)->{ $method }, "$class has $method" );
63     }
64     }

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26