--- trunk/t/01-frey-action.t 2008/11/17 20:14:12 385 +++ trunk/t/01-frey-action.t 2008/11/17 22:40:22 386 @@ -4,7 +4,7 @@ my $debug = @ARGV ? 1 : 0; -use Test::More tests => 10; +use Test::More tests => 20; use lib 'lib'; use Data::Dump qw/dump/; @@ -16,17 +16,34 @@ ok( my $o = Frey::Action->new( class => 'Frey::Feed', debug => $debug ), "new Frey::Feed" ); ok( my $required = $o->required, 'required' ); -diag dump( $required ) if $debug; +diag ref( $required ) if $debug; isa_ok( $required, 'ARRAY', 'required' ); ok( my $attributes = $o->attributes, 'attributes' ); diag dump( $attributes ) if $debug; is_deeply( $attributes, ["uri", "feed", "title"], 'attributes' ); +ok( ! $o->params->{uri}, 'no uri' ); + ok( my $html = $o->params_form, 'params_form' ); diag $html if $debug; like( $html, qr/
params->{uri}, "don't pollute params" ); -ok( $o = Frey::Action->new( class => 'Frey::ClassBrowser', debug => $debug ), "new Frey::ClassBrowser" ); -ok( ! $o->params_form, 'no form' ); +ok( my $html2 = $o->params_form, 'params_form again' ); +diag "1: ",$html; +diag "2: ",$html2; +cmp_ok( $html, 'eq', $html2, 'repeated same form' ); + +my $default; +ok( ($html2,$default) = $o->params_form, 'params_form again' ); +diag "default = ",dump($default) if $debug; +ok( $html2, 'got form again' ); +cmp_ok( $html, 'eq', $html2, 'html same' ); +ok( $default->{uri}, 'uri has default' ); + +ok( $o = Frey::Action->new( class => 'Frey::ClassBrowser', debug => $debug, params => { unneeded => 1 } ), "new Frey::ClassBrowser" ); +ok( ($html2,$default) = $o->params_form, 'params_form' ); +ok( ! $html2, 'no form' ); +ok( $default->{unneeded}, 'preserve params' );