version 1.2, 2010/01/09 05:00:21 |
version 1.15, 2010/02/13 23:26:44 |
|
|
# 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: $RedRiver: list.t,v 1.1 2010/01/08 04:38:44 andrew Exp $ |
# REVISION: $AFresh1: list.t,v 1.14 2010/01/20 21:15:15 andrew Exp $ |
#=============================================================================== |
#=============================================================================== |
|
|
use strict; |
use strict; |
use warnings; |
use warnings; |
|
|
use Test::More; #tests => 2; |
use Test::More tests => 55; |
|
|
use File::Temp qw/ tempdir /; |
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"); |
diag("Testing entry $class $Text::Todo::VERSION"); |
|
|
|
|
my @orig_list; |
my @orig_list; |
ok( @orig_list = $orig->list, 'get 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('todo_file'), |
is( $orig->file('done_file'), 't/done.list.txt', 'orig done_file matches' ); |
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'), |
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 $todo_dir = tempdir( 'todo-XXXXXXXXX', CLEANUP => 1, TMPDIR => 1 ); |
my $copy = new_ok($class); |
my $copy = new_ok($class); |
|
|
foreach my $e (@orig_list) { |
foreach my $e (@orig_list) { |
ok( $copy->add($e), 'add entry from orginal 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'), |
is( $copy->file('todo_file'), |
$todo_dir . '/todo.txt', |
File::Spec->catfile( $todo_dir, 'todo.txt' ), |
'copy todo_file matches' |
'copy todo_file matches' |
); |
); |
is( $copy->file('done_file'), |
is( $copy->file('done_file'), |
$todo_dir . '/done.txt', |
File::Spec->catfile( $todo_dir, 'done.txt' ), |
'copy done_file matches' |
'copy done_file matches' |
); |
); |
is( $copy->file('report_file'), |
is( $copy->file('report_file'), |
$todo_dir . '/report.txt', |
File::Spec->catfile( $todo_dir, 'report.txt' ), |
'copy report_file matches' |
'copy report_file matches' |
); |
); |
my @copy_list; |
my @copy_list; |
|
|
$orig = undef; |
$orig = undef; |
|
|
my @pri_list; |
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( 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' ); |
is( $pri_list[0]->text, '(A) entry 1 @one +uno', 'priority item is correct' ); |
|
|
|
|
is( $copy_list[1]->text, $entry_to_move->text, |
is( $copy_list[1]->text, $entry_to_move->text, |
'entry is in the new position' ); |
'entry is in the new position' ); |
|
|
|
my @tags; |
|
ok( @tags = $copy->listtags, 'listtagsfor current list' ); |
|
is_deeply( |
|
\@tags, |
|
[ 'context', 'project' ], |
|
'got the projects we expected' |
|
); |
|
|
my @projects; |
my @projects; |
ok( @projects = $copy->listproj, 'listproj for current list' ); |
ok( @projects = $copy->listproj, 'listproj for current list' ); |
is_deeply( |
is_deeply( |
|
|
} |
} |
} |
} |
|
|
@projects; |
|
ok( @projects = $copy->listproj, 'listproj for current list' ); |
ok( @projects = $copy->listproj, 'listproj for current list' ); |
is_deeply( \@projects, [ 'dos', 'uno' ], 'got the projects we expected' ); |
is_deeply( \@projects, [ 'dos', 'uno' ], 'got the projects we expected' ); |
|
|
TODO: { |
my @contexts; |
local $TODO = 'No tests for archive and it isn\'t even written yet'; |
ok( @contexts = $copy->listcon, 'listcon for current list' ); |
ok( $copy->archive ); |
is_deeply( \@contexts, [ 'one', 'two' ], 'got the contexts we expected' ); |
} |
|
|
|
TODO: { |
my $entry_to_archive; |
local $TODO = 'No tests for addto and it isn\'t even written yet'; |
ok( $entry_to_archive = $copy->list->[3], 'read entry_to_archive' ); |
ok( $copy->addto ); |
is( $entry_to_archive->text, |
} |
'x completed entry 4', |
|
'make sure we got the right entry' |
|
); |
|
|
TODO: { |
ok( $copy->archive, 'archive done items' ); |
local $TODO = 'No tests for listfile and it isn\'t even written yet'; |
isnt( $copy->list->[1]->text, |
ok( $copy->listfile ); |
$entry_to_archive->text, 'make sure it changed' ); |
} |
|
|
|
done_testing(); |
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, |
|
File::Spec->catfile( $todo_dir, 'done.txt' ), |
|
'the done_file name what we expected?' |
|
); |
|
|
|
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' ); |
|
|
|
#done_testing(); |