=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/t/GET/tags.t,v retrieving revision 1.3 retrieving revision 1.7 diff -u -r1.3 -r1.7 --- todotxt/Text-Todo-REST-API/t/GET/tags.t 2010/01/23 07:15:40 1.3 +++ todotxt/Text-Todo-REST-API/t/GET/tags.t 2010/02/14 06:14:57 1.7 @@ -7,31 +7,42 @@ # AUTHOR: Andrew Fresh (AAF), andrew@cpan.org # COMPANY: Red River Communications # CREATED: 01/07/10 19:11 -# REVISION: $AFresh1: tags.t,v 1.2 2010/01/18 13:47:53 andrew Exp $ +# REVISION: $AFresh1: tags.t,v 1.6 2010/01/26 06:03:11 andrew Exp $ #=============================================================================== use strict; use warnings; -use Test::More tests => 6; - +use Test::More tests => 10; +my $api_class; my $class; + BEGIN { - $class = 'Text::Todo::REST::API'; - use_ok( $class, "use $class" ); + $api_class = 'Text::Todo::REST::API'; + $class = 'Text::Todo::REST::API::Actions::GET'; + + use_ok( $api_class, "use $api_class" ); + use_ok( $class, "use $class" ); } -diag("Testing GET tags $class $Text::Todo::REST::API::VERSION"); +diag("Testing GET tags $class $Text::Todo::REST::API::Actions::GET::VERSION"); -my $api = new_ok( $class, [ { todo_dir => 't/lists' } ] ); +my $api = new_ok( $api_class, [ { todo_dir => 't/lists' } ] ); +my $action = new_ok($class); my %tags = ( - project => ['delete', 'dos', 'uno'], - context => ['one', 'two'], + undef => { 'context' => '@', 'project' => '+' }, + project => [ 'delete', 'dos', 'uno' ], + context => [ 'one', 'two' ], ); -foreach my $tag (keys %tags) { - my @tags; - ok( @tags = $api->get_tags($api->_todo, $tag), "Get [$tag] tags" ); - is_deeply( \@tags, $tags{$tag}, 'got expected ' . $tag . 's' ); +foreach my $key ( keys %tags ) { + my $tag = $key; + if ($tag eq 'undef') { + $tag = undef; + } + + my $tags; + ok( $tags = $action->get_tags( $api->_todo, $tag ), "Get [$key] tags" ); + is_deeply( $tags, $tags{$key}, 'got expected ' . $key. 's' ); }