Unit Tests

- Updated to use the new template.
This commit is contained in:
Paul Beckingham 2014-10-26 10:48:02 -04:00
parent 822031bf0b
commit 47e8ae6c02

View file

@ -33,8 +33,12 @@ use Test::More tests => 24;
delete $ENV{'TASKDATA'};
delete $ENV{'TASKRC'};
use File::Basename;
my $ut = basename ($0);
my $rc = $ut . '.rc';
# Create the rc file.
if (open my $fh, '>', 'op.rc')
if (open my $fh, '>', $rc)
{
print $fh "data.location=.\n",
"confirmation=no\n";
@ -42,49 +46,49 @@ if (open my $fh, '>', 'op.rc')
}
# Setup: Add a task
qx{../src/task rc:op.rc add one due:yesterday priority:H 2>&1};
qx{../src/task rc:op.rc add two due:tomorrow priority:M 2>&1};
qx{../src/task rc:op.rc add three priority:L 2>&1};
qx{../src/task rc:op.rc add four 2>&1};
qx{../src/task rc:$rc add one due:yesterday priority:H 2>&1};
qx{../src/task rc:$rc add two due:tomorrow priority:M 2>&1};
qx{../src/task rc:$rc add three priority:L 2>&1};
qx{../src/task rc:$rc add four 2>&1};
# Test the '<' operator.
my $output = qx{../src/task rc:op.rc ls due.before:today 2>&1};
like ($output, qr/one/, 'ls due.before:today --> one');
unlike ($output, qr/two/, 'ls due.before:today --> !two');
unlike ($output, qr/three/, 'ls due.before:today --> !three');
unlike ($output, qr/four/, 'ls due.before:today --> !four');
my $output = qx{../src/task rc:$rc ls due.before:today 2>&1};
like ($output, qr/one/, "$ut: ls due.before:today --> one");
unlike ($output, qr/two/, "$ut: ls due.before:today --> !two");
unlike ($output, qr/three/, "$ut: ls due.before:today --> !three");
unlike ($output, qr/four/, "$ut: ls due.before:today --> !four");
$output = qx{../src/task rc:op.rc ls 'due < today' 2>&1};
like ($output, qr/one/, 'ls due < today --> one');
unlike ($output, qr/two/, 'ls due < today --> !two');
unlike ($output, qr/three/, 'ls due < today --> !three');
unlike ($output, qr/four/, 'ls due < today --> !four');
$output = qx{../src/task rc:$rc ls 'due < today' 2>&1};
like ($output, qr/one/, "$ut: ls due < today --> one");
unlike ($output, qr/two/, "$ut: ls due < today --> !two");
unlike ($output, qr/three/, "$ut: ls due < today --> !three");
unlike ($output, qr/four/, "$ut: ls due < today --> !four");
$output = qx{../src/task rc:op.rc ls priority.below:H 2>&1};
unlike ($output, qr/one/, 'ls priority.below:H --> !one');
like ($output, qr/two/, 'ls priority.below:H --> two');
like ($output, qr/three/, 'ls priority.below:H --> three');
like ($output, qr/four/, 'ls priority.below:H --> four');
$output = qx{../src/task rc:$rc ls priority.below:H 2>&1};
unlike ($output, qr/one/, "$ut: ls priority.below:H --> !one");
like ($output, qr/two/, "$ut: ls priority.below:H --> two");
like ($output, qr/three/, "$ut: ls priority.below:H --> three");
like ($output, qr/four/, "$ut: ls priority.below:H --> four");
$output = qx{../src/task rc:op.rc ls 'priority < H' 2>&1};
unlike ($output, qr/one/, 'ls priority < H --> !one');
like ($output, qr/two/, 'ls priority < H --> two');
like ($output, qr/three/, 'ls priority < H --> three');
like ($output, qr/four/, 'ls priority < H --> four');
$output = qx{../src/task rc:$rc ls 'priority < H' 2>&1};
unlike ($output, qr/one/, "$ut: ls priority < H --> !one");
like ($output, qr/two/, "$ut: ls priority < H --> two");
like ($output, qr/three/, "$ut: ls priority < H --> three");
like ($output, qr/four/, "$ut: ls priority < H --> four");
$output = qx{../src/task rc:op.rc ls 'description < t' 2>&1};
like ($output, qr/one/, 'ls description < t --> one');
unlike ($output, qr/two/, 'ls description < t --> !two');
unlike ($output, qr/three/, 'ls description < t --> !three');
like ($output, qr/four/, 'ls description < t --> four');
$output = qx{../src/task rc:$rc ls 'description < t' 2>&1};
like ($output, qr/one/, "$ut: ls description < t --> one");
unlike ($output, qr/two/, "$ut: ls description < t --> !two");
unlike ($output, qr/three/, "$ut: ls description < t --> !three");
like ($output, qr/four/, "$ut: ls description < t --> four");
$output = qx{../src/task rc:op.rc 'urgency < 10.0' ls 2>&1};
unlike ($output, qr/one/, 'ls description < 10 --> !one');
unlike ($output, qr/two/, 'ls description < 10 --> !two');
like ($output, qr/three/, 'ls description < 10 --> three');
like ($output, qr/four/, 'ls description < 10 --> four');
$output = qx{../src/task rc:$rc 'urgency < 10.0' ls 2>&1};
unlike ($output, qr/one/, "$ut: ls description < 10 --> !one");
unlike ($output, qr/two/, "$ut: ls description < 10 --> !two");
like ($output, qr/three/, "$ut: ls description < 10 --> three");
like ($output, qr/four/, "$ut: ls description < 10 --> four");
# Cleanup.
unlink qw(pending.data completed.data undo.data backlog.data op.rc);
unlink qw(pending.data completed.data undo.data backlog.data), $rc;
exit 0;