/[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 457 - (hide annotations)
Wed Nov 19 16:53:13 2008 UTC (15 years, 6 months ago) by dpavlin
File MIME type: application/x-troff
File size: 1966 byte(s)
added class_runnable, class_inputs and cleanup
1 dpavlin 100 #!/usr/bin/perl
2     use strict;
3     use warnings;
4    
5     my $debug = @ARGV ? 1 : 0;
6    
7 dpavlin 457 use Test::More tests => 32;
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 dpavlin 457 'Frey' => {
41     is_role => 0,
42     },
43     'Frey::Web' => {
44     is_role => 1,
45     },
46     'Moose' => {
47     is_role => 0,
48     },
49     'Fey' => {
50     is_role => 0,
51     },
52     'Frey::Pipe' => {
53     is_role => 0,
54     runnable => [ 'as_markup' ],
55     inputs => [ 'pipe' ],
56     },
57    
58 dpavlin 137 };
59    
60 dpavlin 457 foreach my $class ( keys %$test ) {
61     ok( my ( $meta, $is_role ) = $o->class_meta( $class ), "load_package $class" );
62     is( $is_role, $test->{$class}->{is_role}, $is_role ? 'role' : 'not role' );
63     diag $meta->dump(1) if $debug;
64     my @runnable = $o->class_runnable( $class );
65     is_deeply( \@runnable, $test->{$class}->{runnable}, "class_runnable $class" ) if @runnable || defined $test->{$class}->{runnable};
66     diag "runnable ",dump( @runnable );
67 dpavlin 137 }
68 dpavlin 409
69     my $methods = {
70 dpavlin 412 'Frey::Config' => [ 'config', 'load_config' ],
71 dpavlin 409 'Frey::Editor' => [ 'url_regex', 'command' ],
72     };
73    
74     foreach my $class ( keys %$methods ) {
75     ok( my @m = $o->class_methods($class), "class_methods( $class ) as array" );
76     diag dump( @m );
77     is_deeply( \@m, $methods->{$class}, 'without meta' );
78     foreach my $method ( @{ $methods->{$class} } ) {
79     ok( $o->class_methods($class)->{ $method }, "$class has $method" );
80     }
81     }
82 dpavlin 457

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26