/[Frey]/trunk/t/01-Frey-Class-Loader.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

Contents of /trunk/t/01-Frey-Class-Loader.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 929 - (show annotations)
Mon Jan 5 23:16:13 2009 UTC (15 years, 3 months ago) by dpavlin
File MIME type: application/x-troff
File size: 1974 byte(s)
rename
1 #!/usr/bin/perl
2 use strict;
3 use warnings;
4
5 my $debug = @ARGV ? 1 : 0;
6
7 use Test::More tests => 33;
8 use lib 'lib';
9
10 #use Devel::LeakTrace::Fast;
11 use Data::Dump qw/dump/;
12
13 BEGIN {
14 use_ok('Frey::Class::Loader');
15 }
16
17 ok( my $o = Frey::Class::Loader->new( debug => $debug ), 'new' );
18 isa_ok( $o, 'Frey::Class::Loader' );
19 diag dump( $o ) if $debug;
20
21 ok( $o->meta, 'has meta' );
22 #diag dump( $o->meta );
23 is( $o->meta->name, 'Frey::Class::Loader', 'meta->name' );
24
25 ok( defined $o->debug, 'debug' );
26
27 ok( my @classes = $o->classes, 'classes' );
28 diag dump( @classes ) if $debug;
29
30 ok( $o->classes, 'classes again' );
31
32 ok( my $available = $o->load_all_classes, 'load_all_classes' );
33 diag dump( $available ) if $debug;
34 isa_ok( $available, 'HASH' );
35
36 ok( $available->{$_}, "have $_" ) foreach ( qw/Frey Frey::Introspect Frey::Run/ );
37
38 # Module::Name => $is_role
39 my $test = {
40 '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 };
59
60 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 }
68
69 my $methods = {
70 'Frey::Config' => [ 'config', 'load_config' ],
71 '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

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26