=================================================================== RCS file: /cvs/todotxt/Text-Todo/t/dudelicious.t,v retrieving revision 1.3 retrieving revision 1.7 diff -u -r1.3 -r1.7 --- todotxt/Text-Todo/t/dudelicious.t 2010/04/29 05:50:33 1.3 +++ todotxt/Text-Todo/t/dudelicious.t 2010/04/30 07:18:33 1.7 @@ -1,4 +1,5 @@ #!perl +# $AFresh1: dudelicious.t,v 1.6 2010/04/30 01:43:14 andrew Exp $ use Test::More; # tests => 3; use strict; @@ -8,10 +9,11 @@ use File::Copy qw/ cp /; use File::Spec; +my $have_test_json = 1; + BEGIN { eval "use Test::Mojo"; plan skip_all => "Test::Mojo required for testing dudelicious" if $@; - } my $todo_dir = tempdir( 'todo-XXXXXXXXX', CLEANUP => 1, TMPDIR => 1 ); @@ -29,68 +31,44 @@ my $t = Test::Mojo->new; -# Index page -$t->get_ok('/')->status_is(200)->content_like(qr/todo1\.txt/xms); +my @exts = ( q{}, '.html', '.txt', '.json' ); -$t->get_ok('/l/todo1')->status_is(200)->content_is( - q{ - Funky! -

todo1

-
    -
  1. -(B) +GarageSale @phone schedule Goodwill pickup -
  2. -
  3. -+GarageSale @home post signs around the neighborhood DUE:2006-08-01 -
  4. -
  5. -X eat meatballs @home -
  6. -
  7. -(A) @phone thank Mom for the meatballs WAIT -
  8. -
  9. +foreach my $p ( + '/', + ( map { '/l/todo1' . $_ } @exts ), + ( map { '/l/todo1/e/1' . $_ } @exts ), + ( map { '/l/todo1/e/4' . $_ } @exts ), + ( map { '/l/todo1/t' . $_ } @exts ), + ( map { '/l/todo1/t/project' . $_ } @exts ), + ( map { '/l/todo1/t/context' . $_ } @exts ), + ) +{ + my ( $volume, $directories, $file ) = File::Spec->splitpath($p); -
  10. -
  11. -@shopping Eskimo pies -
  12. -
  13. -email andrew@cpan.org for help +report_bug @wherever -
  14. -
  15. -x 2009-01-01 completed with a date -
  16. -
- - -} -); + $file ||= 'index.html'; + $file .= '.html' if $file !~ /\.[^.]+$/xms; -$t->get_ok('/l/todo1.txt')->status_is(200)->content_is( - q{(B) +GarageSale @phone schedule Goodwill pickup -+GarageSale @home post signs around the neighborhood DUE:2006-08-01 -X eat meatballs @home -(A) @phone thank Mom for the meatballs WAIT + my $f = File::Spec->catfile( 't', 'dudelicious', $volume, $directories, + $file ); -@shopping Eskimo pies -email andrew@cpan.org for help +report_bug @wherever -x 2009-01-01 completed with a date -} -); +SKIP: { + skip "$f does not exist", 3 if !-e $f; + diag("Get [$f] from [$p]"); -$t->get_ok('/l/todo1/e/1')->status_is(200)->content_is( - q{ - Funky! - (B) +GarageSale @phone schedule Goodwill pickup - - -} -); + open my $fh, '<', $f or die $f . ': ' . $!; + my $content = do { local $/; <$fh> }; + close $fh; -$t->get_ok('/l/todo1/e/1.txt')->status_is(200)->content_is( - q{(B) +GarageSale @phone schedule Goodwill pickup + if ( $f =~ /\.json$/xms ) { + $t->get_ok($p)->status_is(200) + ->json_content_is( Mojo::JSON->decode($content), + 'Check JSON content' ); + } + else { + $t->get_ok($p)->status_is(200) + ->content_is( $content, 'Check content' ); + } + } } -); done_testing();