=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/t/response.t,v retrieving revision 1.1 retrieving revision 1.4 diff -u -r1.1 -r1.4 --- todotxt/Text-Todo-REST-API/t/response.t 2010/01/23 07:04:43 1.1 +++ todotxt/Text-Todo-REST-API/t/response.t 2010/02/13 22:15:29 1.4 @@ -7,13 +7,13 @@ # AUTHOR: Andrew Fresh (AAF), andrew@cpan.org # COMPANY: Red River Communications # CREATED: 01/07/10 19:11 -# REVISION: $AFresh1$ +# REVISION: $AFresh1: response.t,v 1.3 2010/02/13 21:46:13 andrew Exp $ #=============================================================================== use strict; use warnings; -use Test::More tests => 49; +use Test::More tests => 101; my $class; @@ -26,12 +26,14 @@ my %data = ( files => ['todo.txt'], - list => [ - { text => 'uno', md5 => 'XXX md5 of uno XXX' }, - { text => 'dos', md5 => 'XXX md5 of dos XXX' }, - { text => 'tre', md5 => 'XXX md5 of tre XXX' }, + list => [ + { text => 'uno', md5 => 'XXX md5 of uno XXX' }, + { text => 'dos', md5 => 'XXX md5 of dos XXX' }, + { text => 'tre', md5 => 'XXX md5 of tre XXX' }, ], - entry => { text => 'ety', md5 => 'XXX md5 of ety XXX' }, + + tags => [ 'delete', 'dos', 'uno' ], + entry => { text => 'ety', md5 => 'XXX md5 of ety XXX' }, ); my %TESTS = ( @@ -46,13 +48,20 @@ result => '/^Unable to handle \[render_files\] for format \[\]/', }, text => { - result => undef, - data_result => "todo.txt\n" + result => undef, + data_result => "todo.txt\n", + content_type => 'text/plain', }, md5 => { result => '/^Unable to handle \[render_files\] for format \[md5\]/', + content_type => 'text/plain', }, + json => { + result => '[]', + data_result => '["todo.txt"]', + content_type => 'application/json', + }, }, list => { @@ -62,27 +71,67 @@ text => { result => undef, data_result => ( join q{}, map "$_->{text}\n", @{ $data{list} } ), + content_type => 'text/plain', }, md5 => { - result => undef, - data_result => ( join q{}, map "MD5 ($_->{text}) = $_->{md5}\n", - @{ $data{list} } ), + result => undef, + data_result => ( + join q{}, + map "MD5 ($_->{text}) = $_->{md5}\n", + @{ $data{list} } + ), + content_type => 'text/plain', }, + json => { + result => '[]', + data_result => '[{"text":"uno","md5":"XXX md5 of uno XXX"},{"text":"dos","md5":"XXX md5 of dos XXX"},{"text":"tre","md5":"XXX md5 of tre XXX"}]', + content_type => 'application/json', + }, }, + tags => { + undef => { + result => '/^Unable to handle \[render_tags\] for format \[\]/', + }, + text => { + result => undef, + data_result => ( join q{}, map "$_\n", @{ $data{tags} } ), + content_type => 'text/plain', + }, + md5 => { + result => undef, + result => '/^Unable to handle \[render_tags\] for format \[md5\]/', + content_type => 'text/plain', + }, + json => { + result => '[]', + data_result => '["delete","dos","uno"]', + content_type => 'application/json', + }, + }, + entry => { undef => { result => '/^Unable to handle \[render_entry\] for format \[\]/', }, text => { - result => undef, - data_result => ( join q{}, map "$_->{text}\n", $data{entry} ), + result => undef, + data_result => ( join q{}, map "$_->{text}\n", $data{entry} ), + content_type => 'text/plain', }, md5 => { - result => undef, - data_result => ( join q{}, map "MD5 ($_->{text}) = $_->{md5}\n", - $data{entry} ), + result => undef, + data_result => ( + join q{}, map "MD5 ($_->{text}) = $_->{md5}\n", + $data{entry} + ), + content_type => 'text/plain', }, + json => { + result => '[]', + data_result => '{"text":"ety","md5":"XXX md5 of ety XXX"}', + content_type => 'application/json', + }, }, ); @@ -121,6 +170,11 @@ my $response = new_ok( $class, [$args] ); + if ( exists $test->{content_type} ) { + is( $response->content_type, $test->{content_type}, + 'Got content_type - ' . $diag ); + } + my $expected = $test->{result}; if ( $args->{data} && exists $test->{data_result} ) { $expected = $test->{data_result}; @@ -129,7 +183,7 @@ my $result; eval { $result = $response->render() }; if ($@) { - if (index $expected, '/') { + if ( index $expected, '/' ) { $expected = '/^$/'; } @@ -138,5 +192,6 @@ else { is( $result, $expected, 'Got expected result - ' . $diag ); } + return 1; }