=================================================================== RCS file: /cvs/todotxt/Text-Todo/t/dudelicious.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- todotxt/Text-Todo/t/dudelicious.t 2010/04/28 01:33:05 1.2 +++ todotxt/Text-Todo/t/dudelicious.t 2010/04/29 05:50:33 1.3 @@ -1,18 +1,96 @@ -use Test::More tests => 3; +#!perl +use Test::More; # tests => 3; +use strict; +use warnings; + +use File::Temp qw/ tempdir /; +use File::Copy qw/ cp /; +use File::Spec; + BEGIN { - eval "use Test::Mojo"; - plan skip_all => "Test::Mojo required for testing dudelicious" if $@; + eval "use Test::Mojo"; + plan skip_all => "Test::Mojo required for testing dudelicious" if $@; - use lib 'bin'; - require 'dudelicious.pl'; - Dudelicious->import; } -my $app = Dudelicious::app; -$app->log->level('error'); +my $todo_dir = tempdir( 'todo-XXXXXXXXX', CLEANUP => 1, TMPDIR => 1 ); +$ENV{DUDELICIOUS_HOME} = $todo_dir; +foreach my $file qw( todo1.txt todo.list.txt dudelicious.conf ) { + cp( File::Spec->catfile( 't', $file ), + File::Spec->catfile( $todo_dir, $file ), + ) || die "Couldn't cp [$todo_dir]/[$file]: $!"; +} + +require File::Spec->catfile( 'bin', 'dudelicious.pl' ); +Dudelicious->import; +Dudelicious->app->log->level('error'); + my $t = Test::Mojo->new; # Index page -$t->get_ok('/')->status_is(200)->content_like(qr/Funky/); +$t->get_ok('/')->status_is(200)->content_like(qr/todo1\.txt/xms); + +$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. + +
  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. +
+ + +} +); + +$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 + +@shopping Eskimo pies +email andrew@cpan.org for help +report_bug @wherever +x 2009-01-01 completed with a date +} +); + +$t->get_ok('/l/todo1/e/1')->status_is(200)->content_is( + q{ + Funky! + (B) +GarageSale @phone schedule Goodwill pickup + + +} +); + +$t->get_ok('/l/todo1/e/1.txt')->status_is(200)->content_is( + q{(B) +GarageSale @phone schedule Goodwill pickup +} +); + +done_testing();