1 |
dpavlin |
369 |
#!/usr/bin/perl |
2 |
|
|
use strict; |
3 |
|
|
use warnings; |
4 |
|
|
|
5 |
|
|
my $debug = @ARGV ? 1 : 0; |
6 |
|
|
|
7 |
dpavlin |
386 |
use Test::More tests => 20; |
8 |
dpavlin |
369 |
use lib 'lib'; |
9 |
|
|
|
10 |
|
|
use Data::Dump qw/dump/; |
11 |
|
|
|
12 |
|
|
BEGIN { |
13 |
|
|
use_ok('Frey::Action'); |
14 |
|
|
} |
15 |
|
|
|
16 |
|
|
ok( my $o = Frey::Action->new( class => 'Frey::Feed', debug => $debug ), "new Frey::Feed" ); |
17 |
|
|
|
18 |
|
|
ok( my $required = $o->required, 'required' ); |
19 |
dpavlin |
386 |
diag ref( $required ) if $debug; |
20 |
dpavlin |
369 |
isa_ok( $required, 'ARRAY', 'required' ); |
21 |
|
|
|
22 |
|
|
ok( my $attributes = $o->attributes, 'attributes' ); |
23 |
|
|
diag dump( $attributes ) if $debug; |
24 |
|
|
is_deeply( $attributes, ["uri", "feed", "title"], 'attributes' ); |
25 |
|
|
|
26 |
dpavlin |
386 |
ok( ! $o->params->{uri}, 'no uri' ); |
27 |
|
|
|
28 |
dpavlin |
369 |
ok( my $html = $o->params_form, 'params_form' ); |
29 |
|
|
diag $html if $debug; |
30 |
|
|
like( $html, qr/<form/, 'has form' ); |
31 |
|
|
|
32 |
dpavlin |
386 |
ok( ! $o->params->{uri}, "don't pollute params" ); |
33 |
dpavlin |
369 |
|
34 |
dpavlin |
386 |
ok( my $html2 = $o->params_form, 'params_form again' ); |
35 |
|
|
diag "1: ",$html; |
36 |
|
|
diag "2: ",$html2; |
37 |
|
|
cmp_ok( $html, 'eq', $html2, 'repeated same form' ); |
38 |
|
|
|
39 |
|
|
my $default; |
40 |
|
|
ok( ($html2,$default) = $o->params_form, 'params_form again' ); |
41 |
|
|
diag "default = ",dump($default) if $debug; |
42 |
|
|
ok( $html2, 'got form again' ); |
43 |
|
|
cmp_ok( $html, 'eq', $html2, 'html same' ); |
44 |
|
|
ok( $default->{uri}, 'uri has default' ); |
45 |
|
|
|
46 |
|
|
ok( $o = Frey::Action->new( class => 'Frey::ClassBrowser', debug => $debug, params => { unneeded => 1 } ), "new Frey::ClassBrowser" ); |
47 |
|
|
ok( ($html2,$default) = $o->params_form, 'params_form' ); |
48 |
|
|
ok( ! $html2, 'no form' ); |
49 |
|
|
ok( $default->{unneeded}, 'preserve params' ); |