=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/t/formats/text.t,v retrieving revision 1.1 retrieving revision 1.4 diff -u -r1.1 -r1.4 --- todotxt/Text-Todo-REST-API/t/formats/text.t 2010/01/17 19:57:16 1.1 +++ todotxt/Text-Todo-REST-API/t/formats/text.t 2010/01/17 22:55:59 1.4 @@ -7,18 +7,21 @@ # AUTHOR: Andrew Fresh (AAF), andrew@cpan.org # COMPANY: Red River Communications # CREATED: 01/07/10 19:11 -# REVISION: $AFresh1$ +# REVISION: $AFresh1: text.t,v 1.3 2010/01/17 21:53:35 andrew Exp $ #=============================================================================== use strict; use warnings; -use Test::More tests => 10; +use Test::More tests => 40; my $class; my $subclass; +my $ext; BEGIN { + $ext = 'txt'; + $class = 'Text::Todo::REST::API'; use_ok( $class, "use $class" ); @@ -26,11 +29,11 @@ use_ok( $subclass, "use $subclass" ); } -diag("Testing entry $class $Text::Todo::REST::API::text::VERSION"); +diag("Testing entry $subclass $Text::Todo::REST::API::text::VERSION"); my $api = new_ok( $class, - [ { basedir => 't', path_info => '/lists/todo.txt' } ] ); -isa_ok( $api, $subclass, 'isa ' . $subclass ); + [ { basedir => 't', path_info => '/lists/todo.' . $ext } ] ); +isa_ok( $api, $subclass ); my $list_should_be = [ { 'text' => '(A) entry 1 @one +uno', @@ -63,15 +66,31 @@ map { $_->{text} . "\n" } @{$list_should_be}; my $result; -ok( !eval { $result = $api->Load('test') }, 'Load method (test)' ); -like( $@, '/^Unable to Load \[test\]/', 'Failed Load as expected' ); +ok( !eval { $result = $api->Load() }, 'Load method' ); +like( $@, '/^Unable to Load \[list\]/', 'Failed Load as expected' ); $result = undef; -ok( !eval { $result = $api->Dump('test') }, 'Dump method (test)' ); -like( $@, '/^Unable to Dump \[test\]/', 'Failed Dump test as expected' ); +ok( !( $result = $api->Dump() ), 'Dump method' ); +is( $result, undef, 'Dump returned undef' ); $result = undef; -ok( eval { $result = $api->Dump( 'list', @{$list_should_be} ) }, - 'Dump method' ); +ok( eval { $result = $api->Dump( @{$list_should_be} ) }, 'Dump method' ); is( $result, $list_dump_should_be, 'Got expected Dump result' ); $result = undef; + +foreach my $e ( @{$list_should_be} ) { + my $api = new_ok( + $class, + [ { basedir => 't', + path_info => '/lists/todo/entry/' . $e->{md5} . '.' . $ext + } + ] + ); + my @entry; + ok( @entry = $api->GET(), "get_entry by GET()" ); + is_deeply( \@entry, [$e], 'got correct entry' ); + + my $result; + ok( $result = $api->Dump(@entry), 'Dump output' ); + is( $result, $e->{text} . "\n", 'Got correct Dump result' ); +}