1 |
#!/usr/bin/perl |
2 |
use strict; |
3 |
use warnings; |
4 |
|
5 |
my $debug = @ARGV ? 1 : 0; |
6 |
|
7 |
use Test::More tests => 17; |
8 |
use lib 'lib'; |
9 |
|
10 |
use Data::Dump qw/dump/; |
11 |
|
12 |
BEGIN { |
13 |
use_ok('Frey::PPI'); |
14 |
} |
15 |
|
16 |
my $test = { |
17 |
'Frey::DelIcioUs' => { |
18 |
attribute_order => ["username", "password"], |
19 |
includes => { |
20 |
"use" => ["Moose", "LWP::UserAgent", "XML::Simple", "Data::Dump"], |
21 |
}, |
22 |
has_tests => [], |
23 |
}, |
24 |
'Frey::Feed' => { |
25 |
attribute_order => ["uri", "feed", "title"], |
26 |
includes => { |
27 |
"use" => [ "Moose", "Frey::Types", "Frey::Mirror", "Data::Feed", "Data::Dump" ], |
28 |
}, |
29 |
has_tests => ["t/06-frey-feed.t"], |
30 |
}, |
31 |
}; |
32 |
|
33 |
foreach my $class ( keys %$test ) { |
34 |
|
35 |
ok( my $o = Frey::PPI->new( class => $class, debug => $debug ), "new $class" ); |
36 |
|
37 |
my $data; |
38 |
|
39 |
ok( $data->{attribute_order} = $o->attribute_order, 'attribute_order' ); |
40 |
ok( $data->{includes} = $o->includes, 'includes' ); |
41 |
ok( $data->{has_tests} = $o->has_tests, 'has_tests' ); |
42 |
diag "data $class = ",dump( $data ) if $debug; |
43 |
|
44 |
foreach ( keys %$data ) { |
45 |
is_deeply( $data->{$_}, $test->{$class}->{$_}, $_ ); |
46 |
} |
47 |
|
48 |
ok( $data = $o->as_data, 'data' ); |
49 |
diag dump( $data ) if $debug; |
50 |
|
51 |
} |