Annotation of todotxt/Text-Todo/t/entry.t, Revision 1.1
1.1 ! andrew 1: #===============================================================================
! 2: #
! 3: # FILE: 20.entry.t
! 4: #
! 5: # DESCRIPTION: Test an entry that we create
! 6: #
! 7: # AUTHOR: Andrew Fresh (AAF), andrew@cpan.org
! 8: # COMPANY: Red River Communications
! 9: # CREATED: 07/10/09 11:32:39
! 10: # REVISION: $RedRiver$
! 11: #===============================================================================
! 12:
! 13: use strict;
! 14: use warnings;
! 15:
! 16: use Test::More tests => 29; # last test to print
! 17:
! 18: my $class = 'Text::Todo::Entry';
! 19:
! 20: BEGIN: { use_ok( $class, "use $class" ) }
! 21:
! 22: diag("Testing 20 entry $class $Text::Todo::Entry::VERSION");
! 23:
! 24: my $e = new_ok($class);
! 25:
! 26: is( $e->text, '', "Make sure entry is blank" );
! 27: is( $e->priority, undef, "check priority is undef" );
! 28: is_deeply( [ $e->contexts ], [], "check contexts are empty" );
! 29: is_deeply( [ $e->projects ], [], "check projects are empty" );
! 30:
! 31: my %sample = (
! 32: text => '(B) @home @work keep your shoulder to the grindstone +busywork',
! 33: priority => 'B',
! 34: contexts => [ 'home', 'work' ],
! 35: projects => ['busywork'],
! 36: prepend => 'before',
! 37: append => 'or something',
! 38: new_project => 'notnapping',
! 39: new_context => 'car',
! 40: );
! 41:
! 42: ok( $e->change( $sample{text} ), 'Update entry' );
! 43: is( $e->text, $sample{text}, "Make sure entry matches" );
! 44: is( $e->priority, $sample{priority}, "check priority" );
! 45: is_deeply( [ $e->contexts ], $sample{contexts}, "check contexts" );
! 46: is_deeply( [ $e->projects ], $sample{projects}, "check projects" );
! 47:
! 48: $sample{text} =~ s/^( \s* \( $sample{priority} \))/$1 $sample{prepend}/xms;
! 49: ok( $e->prepend( $sample{prepend} ), 'prepend entry' );
! 50: is( $e->text, $sample{text}, "Make sure entry matches" );
! 51: is( $e->priority, $sample{priority}, "check priority" );
! 52: is_deeply( [ $e->contexts ], $sample{contexts}, "check contexts" );
! 53: is_deeply( [ $e->projects ], $sample{projects}, "check projects" );
! 54:
! 55: $sample{text} .= ' ' . $sample{append};
! 56: ok( $e->append( $sample{append} ), 'append entry' );
! 57: is( $e->text, $sample{text}, "Make sure entry matches" );
! 58: is( $e->priority, $sample{priority}, "check priority" );
! 59: is_deeply( [ $e->contexts ], $sample{contexts}, "check contexts" );
! 60: is_deeply( [ $e->projects ], $sample{projects}, "check projects" );
! 61:
! 62: ok( !$e->in_project( $sample{new_project} ), 'not in new project yet' );
! 63: push @{ $sample{projects} }, $sample{new_project};
! 64: $sample{text} .= ' +' . $sample{new_project};
! 65: ok( $e->append( '+' . $sample{new_project} ), 'add project' );
! 66: is( $e->text, $sample{text}, "Make sure entry matches" );
! 67: ok( $e->in_project( $sample{new_project} ), 'now in new project' );
! 68:
! 69: ok( !$e->in_context( $sample{new_context} ), 'not in new context yet' );
! 70: push @{ $sample{contexts} }, $sample{new_context};
! 71: $sample{text} .= ' @' . $sample{new_context};
! 72: ok( $e->append( '@' . $sample{new_context} ), 'add context' );
! 73: is( $e->text, $sample{text}, "Make sure entry matches" );
! 74: ok( $e->in_context( $sample{new_context} ), 'now in new context' );
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>