=================================================================== RCS file: /cvs/todotxt/Text-Todo/t/list.t,v retrieving revision 1.3 retrieving revision 1.16 diff -u -r1.3 -r1.16 --- todotxt/Text-Todo/t/list.t 2010/01/09 06:26:43 1.3 +++ todotxt/Text-Todo/t/list.t 2010/02/14 06:08:07 1.16 @@ -8,20 +8,23 @@ # AUTHOR: Andrew Fresh (AAF), andrew@cpan.org # COMPANY: Red River Communications # CREATED: 01/07/10 19:11 -# REVISION: $RedRiver: list.t,v 1.2 2010/01/09 05:00:21 andrew Exp $ +# REVISION: $AFresh1: list.t,v 1.15 2010/02/13 23:26:44 andrew Exp $ #=============================================================================== use strict; use warnings; -use Test::More; #tests => 2; +use Test::More tests => 58; use File::Temp qw/ tempdir /; -use Data::Dumper; +use File::Spec; -my $class = 'Text::Todo'; +my $class; -BEGIN: { use_ok( $class, "use $class" ) } +BEGIN { + $class = 'Text::Todo'; + use_ok( $class, "use $class" ); +} diag("Testing entry $class $Text::Todo::VERSION"); @@ -29,10 +32,18 @@ my @orig_list; ok( @orig_list = $orig->list, 'get orig list' ); -is( $orig->file('todo_file'), 't/todo.list.txt', 'orig todo_file matches' ); -is( $orig->file('done_file'), 't/done.list.txt', 'orig done_file matches' ); +is( $orig->file('todo_file'), + File::Spec->catfile( 't', 'todo.list.txt' ), + 'orig todo_file matches' +); +is( $orig->file('done_file'), + File::Spec->catfile( 't', 'done.list.txt' ), + 'orig done_file matches' +); is( $orig->file('report_file'), - 't/report.list.txt', 'orig report_file matches' ); + File::Spec->catfile( 't', 'report.list.txt' ), + 'orig report_file matches' +); my $todo_dir = tempdir( 'todo-XXXXXXXXX', CLEANUP => 1, TMPDIR => 1 ); my $copy = new_ok($class); @@ -40,18 +51,19 @@ foreach my $e (@orig_list) { ok( $copy->add($e), 'add entry from orginal list' ); } -ok( $copy->save( $todo_dir . '/todo.txt' ), 'save the copy' ); +ok( $copy->save( File::Spec->catfile( $todo_dir, 'todo.txt' ) ), + 'save the copy' ); is( $copy->file('todo_file'), - $todo_dir . '/todo.txt', + File::Spec->catfile( $todo_dir, 'todo.txt' ), 'copy todo_file matches' ); is( $copy->file('done_file'), - $todo_dir . '/done.txt', + File::Spec->catfile( $todo_dir, 'done.txt' ), 'copy done_file matches' ); is( $copy->file('report_file'), - $todo_dir . '/report.txt', + File::Spec->catfile( $todo_dir, 'report.txt' ), 'copy report_file matches' ); my @copy_list; @@ -64,7 +76,7 @@ $orig = undef; my @pri_list; -ok( @pri_list = $copy->listpri, 'load priority item' ); +ok( @pri_list = $copy->listpri('A'), 'list priority item' ); is( scalar @pri_list, 1, 'only 1 item in the priority list' ); is( $pri_list[0]->text, '(A) entry 1 @one +uno', 'priority item is correct' ); @@ -80,6 +92,22 @@ is( $copy_list[1]->text, $entry_to_move->text, 'entry is in the new position' ); +my $tags; +ok( $tags = $copy->known_tags, 'known_tags for current list' ); +is_deeply( + $tags, + { 'context' => '@', 'project' => '+' }, + 'got the tags we expected' +); + +ok( $copy->learn_tag('due_date', 'DUE:'), "Learn due_date tag" ); +ok( $tags = $copy->known_tags, 'known_tags for current list' ); +is_deeply( + $tags, + { 'context' => '@', 'project' => '+', 'due_date' => 'DUE:' }, + 'got the tags we expected' +); + my @projects; ok( @projects = $copy->listproj, 'listproj for current list' ); is_deeply( @@ -96,42 +124,42 @@ } } -@projects; ok( @projects = $copy->listproj, 'listproj for current list' ); is_deeply( \@projects, [ 'dos', 'uno' ], 'got the projects we expected' ); +my @contexts; +ok( @contexts = $copy->listcon, 'listcon for current list' ); +is_deeply( \@contexts, [ 'one', 'two' ], 'got the contexts we expected' ); + my $entry_to_archive; -ok( $entry_to_archive = $copy->list->[1], 'read entry_to_archive' ); +ok( $entry_to_archive = $copy->list->[3], 'read entry_to_archive' ); is( $entry_to_archive->text, - 'x completed entry 3', + 'x completed entry 4', 'make sure we got the right entry' ); -TODO: { - local $TODO = 'No tests for archive and it isn\'t even written yet'; - ok( $copy->archive ); - isnt( $copy->list->[1]->text, - $entry_to_archive->text, 'make sure it changed' ); +ok( $copy->archive, 'archive done items' ); +isnt( $copy->list->[1]->text, + $entry_to_archive->text, 'make sure it changed' ); -SKIP: { - skip 'unable to load done_file', 1 - if !ok( $copy->load('done_file'), 'read the done_file' ); - is( $copy->list->[-1]->text, - $entry_to_archive->text, 'make sure it moved to the archive' ); - } -} +ok( $copy->load('done_file'), 'read the done_file' ); +is( $copy->list->[-1]->text, + $entry_to_archive->text, 'make sure it moved to the archive' ); my $file; ok( $file = $copy->file('done_file'), 'get the done_file name' ); -is( $file, $todo_dir . '/done.txt', 'the done_file name what we expected?' ); +is( $file, + File::Spec->catfile( $todo_dir, 'done.txt' ), + 'the done_file name what we expected?' +); -ok( $copy->addto( $file, 'added text' ) ); +ok( $copy->addto( $file, 'added text' ), 'Add text to file' ); my @done; ok( @done = $copy->listfile('done_file'), 'get items in done_file' ); is( $done[-1]->text, 'added text', 'make sure what we added is there' ); -#is( $done[-2]->text, $entry_to_archive->text, -# 'make sure it moved to the archive' ); +is( $done[-2]->text, $entry_to_archive->text, + 'make sure it moved to the archive' ); -done_testing(); +#done_testing();