[BACK]Return to GET.t CVS log [TXT][DIR] Up to [local] / todotxt / Text-Todo-REST-API / t

Diff for /todotxt/Text-Todo-REST-API/t/GET.t between version 1.2 and 1.3

version 1.2, 2010/01/17 20:18:58 version 1.3, 2010/01/17 21:07:26
Line 7 
Line 7 
 #       AUTHOR:  Andrew Fresh (AAF), andrew@cpan.org  #       AUTHOR:  Andrew Fresh (AAF), andrew@cpan.org
 #      COMPANY:  Red River Communications  #      COMPANY:  Red River Communications
 #      CREATED:  01/07/10 19:11  #      CREATED:  01/07/10 19:11
 #     REVISION:  $AFresh1: GET.t,v 1.1 2010/01/17 19:41:24 andrew Exp $  #     REVISION:  $AFresh1: GET.t,v 1.2 2010/01/17 20:18:58 andrew Exp $
 #===============================================================================  #===============================================================================
   
 use strict;  use strict;
 use warnings;  use warnings;
   
 use Test::More tests => 4;  use Test::More tests => 16;
   use Data::Dumper;
   
 my $class;  my $class;
   
 BEGIN {  BEGIN {
     $class = 'Text::Todo::REST::API';      $class = 'Text::Todo::REST::API';
     use_ok( $class, "use $class" );      use_ok( $class, "use $class" );
Line 23 
Line 25 
   
 diag("Testing GET $class $Text::Todo::REST::API::VERSION");  diag("Testing GET $class $Text::Todo::REST::API::VERSION");
   
 my $api = new_ok( $class, [ { basedir => 't', path_info => '/lists/todo' } ] );  my $list_should_be = [
       {   'text' => '(A) entry 1 @one +uno',
           'md5'  => '931e0831c31a70928b29de55778dc294',
           'line' => 1
       },
       {   'text' => 'entry 2 @two +dos',
           'md5'  => 'b38dde8029c047e81379d9de581a6251',
           'line' => 2
       },
       {   'text' => '',
           'md5'  => 'd41d8cd98f00b204e9800998ecf8427e',
           'line' => 3
       },
       {   'text' => 'x completed entry 4',
           'md5'  => '8de0a2b65a50d5e30e84ad48af46fa78',
           'line' => 4
       },
       {   'text' => '(B) entry 5 is priority',
           'md5'  => 'c1692dfbf3b5829b6bce44b1a1614980',
           'line' => 5
       },
       {   'text' => 'entry 6 +delete',
           'md5'  => 'e1f6bf867f75aa019063782554407d02',
           'line' => 6
       }
   ];
   
 my $result;  my @pass = (
 ok( !eval { $result = $api->GET() }, 'GET method' );      {   path_info => '/lists',
 like( $@, '/^Unable to Dump \[files\]/', 'Failed GET as expected' );          result => ['todo.txt'],
 $result = undef;      },
       {   path_info => '/lists/todo',
           result => $list_should_be,
       },
       {   path_info => '/lists/todo/list',
           result => $list_should_be,
       },
   );
   
   foreach my $p (@pass) {
       my $api = new_ok( $class,
           [ { basedir => 't', path_info => $p->{path_info} } ] );
   
       my @result;
       ok( eval { @result = $api->GET() },
           'GET method (' . $p->{path_info} . ')'
       );
       is_deeply(
           \@result,
           $p->{result},
           'Failed GET as expected'
       );
   }
   
   my @fail = (
       {   path_info => '/lists/todo/entry',
           result => '',
       },
       {   path_info => '/lists/todo/unsupported',
           result => 'Unable to handle GET \[unsupported\]',
       },
   );
   
   foreach my $p (@fail) {
       my $api = new_ok( $class,
           [ { basedir => 't', path_info => $p->{path_info} } ] );
   
       my $result;
       ok( !eval { $result = $api->GET() },
           'GET method (' . $p->{path_info} . ')'
       );
       like(
           $@,
           '/^' . $p->{result} . '/',
           'Failed GET as expected (' . $p->{result} . ')'
       );
   }
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>