- New 'ls' report.
This commit is contained in:
Paul Beckingham 2013-10-19 20:38:09 -04:00
parent c8aca24e63
commit 09fce4df46
8 changed files with 27 additions and 17 deletions

View file

@ -314,7 +314,7 @@ std::string Config::_defaults =
"report.long.description=All details of pending tasks by creation date\n"
"report.long.labels=ID,A,Created,Mod,Deps,P,Project,Tags,Recur,Wait,Sched,Due,Until,Description\n"
"report.long.columns=id,start.active,entry,modified.age,depends,priority,project,tags,recur,wait.age,scheduled,due,until,description\n"
"report.long.filter= ( status:pending or status:waiting )\n"
"report.long.filter=status:pending\n"
"report.long.sort=modified-\n"
"\n"
"report.list.description=Actionable tasks by due date, project and urgency\n"
@ -323,12 +323,11 @@ std::string Config::_defaults =
"report.list.filter=status:pending\n"
"report.list.sort=start-,due+,project+,urgency-,description+,entry+\n"
"\n"
"\n"
"report.ls.description=Minimal listing of all pending tasks\n"
"report.ls.columns=id,project,priority,description\n"
"report.ls.labels=ID,Proj,Pri,Description\n"
"report.ls.sort=priority-,project+\n"
"report.ls.description=Pending tasks sorted by description\n"
"report.ls.labels=ID,A,D,Project,Tags,R,Wait,S,Due,Until,Description\n"
"report.ls.columns=id,start.active,depends.indicator,project,tags,recur.indicator,wait.age,scheduled.countdown,due.countdown,until.countdown,description.count\n"
"report.ls.filter=status:pending\n"
"report.ls.sort=start-,description+,entry+\n"
"\n"
"report.minimal.description=Minimal listing of all pending tasks\n"
"report.minimal.columns=id,project,description.truncated\n"

View file

@ -64,7 +64,7 @@ like ($output, qr/^You cannot remove the due date from a recurring task.$/ms, 'C
qx{../src/task rc:bug.rc add nonrecurring due:today 2>&1};
$output = qx{../src/task rc:bug.rc ls 2>&1};
like ($output, qr/^2 task.$/ms, '2 tasks shown');
my ($id) = $output =~ /(\d+)\s+nonrecurring/;
my ($id) = $output =~ /(\d+)\s.+\snonrecurring/;
$output = qx{../src/task rc:bug.rc $id modify due: 2>&1};
like ($output, qr/^Modified 1 task.$/ms, 'no task modified');
unlike ($output, qr/^You cannot remove the due date from a recurring task.$/ms, 'Can remove due date from a non-recurring task');

View file

@ -34,7 +34,7 @@ use Test::More tests => 4;
if (open my $fh, '>', '455.rc')
{
print $fh "data.location=.\n";
print $fh "print.empty.columns=yes\n";
print $fh "print.empty.columns=no\n";
close $fh;
ok (-r '455.rc', 'Created 455.rc');
@ -48,9 +48,9 @@ qx{../src/task rc:455.rc add def pro:Foo! 2>&1};
my $output = qx{../src/task rc:455.rc ls 2>&1};
# ' ' + 'Pri' + ' ' == 5
like ($output, qr/\S\s{5}abc/ms, 'bug 455 - correct spacing in utf8 task');
like ($output, qr/\S\s{5}def/ms, 'bug 455 - correct spacing in non utf8 task');
# Project + ' ' == 4
like ($output, qr/\S\s{4}abc/ms, 'bug 455 - correct spacing in utf8 task');
like ($output, qr/\S\s{4}def/ms, 'bug 455 - correct spacing in non utf8 task');
# Cleanup.
unlink qw(pending.data completed.data undo.data backlog.data 455.rc);

View file

@ -37,7 +37,9 @@ if (open my $fh, '>', 'bug.rc')
"bulk=100\n",
"confirmation=no\n",
"print.empty.columns=yes\n",
"report.ls.labels=ID,Project,Pri,Description\n";
"report.unittest.labels=ID,Project,Pri,Description\n",
"report.unittest.columns=id,project,priority,description\n",
"report.unittest.filter=status:pending\n";
close $fh;
ok (-r 'bug.rc', 'Created bug.rc');
}
@ -49,12 +51,12 @@ qx{../src/task rc:bug.rc add One 2>&1};
qx{../src/task rc:bug.rc 1 annotate abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz 2>&1};
# List with rc.hyphenate=on.
my $output = qx{../src/task rc:bug.rc rc.defaultwidth:40 rc.hyphenate:on ls 2>&1};
my $output = qx{../src/task rc:bug.rc rc.defaultwidth:40 rc.hyphenate:on unittest 2>&1};
like ($output, qr/vwx-\n/ms, 'hyphenated 1');
like ($output, qr/tuv-\n/ms, 'hyphenated 2');
# List with rc.hyphenate=off.
$output = qx{../src/task rc:bug.rc rc.defaultwidth:40 rc.hyphenate:off ls 2>&1};
$output = qx{../src/task rc:bug.rc rc.defaultwidth:40 rc.hyphenate:off unittest 2>&1};
like ($output, qr/vwxy\n/ms, 'not hyphenated 1');
like ($output, qr/uvwx\n/ms, 'not hyphenated 2');

View file

@ -33,7 +33,12 @@ use Test::More tests => 18;
# Create the rc file.
if (open my $fh, '>', 'caseless.rc')
{
print $fh "data.location=.\n";
print $fh "data.location=.\n",
"report.ls.columns=id,project,priority,description\n",
"report.ls.labels=ID,Proj,Pri,Description\n",
"report.ls.sort=priority-,project+\n",
"report.ls.filter=status:pending\n";
close $fh;
ok (-r 'caseless.rc', 'Created caseless.rc');
}

View file

@ -50,7 +50,7 @@ qx{../src/task rc:special.rc add should have no red +nocolor priority:H 2>&1};
qx{../src/task rc:special.rc add should be red +nonag 2>&1};
my $output = qx{../src/task rc:special.rc ls 2>&1};
like ($output, qr/\s1\s+H\s+should have no red/, 'no red in first task due to +nocolor');
like ($output, qr/\s1\s+nocolor\s+should have no red/, 'no red in first task due to +nocolor');
like ($output, qr/\033\[31mshould be red\s+\033\[0m/, 'red in second task');
# Prove that +nonag suppresses nagging when a low priority task is completed

View file

@ -49,7 +49,7 @@ unlike ($output, qr/Created task \d/, '\'new-id\' verbosity good');
# Verbosity: 'label'
$output = qx{../src/task rc:verbose.rc ls rc.verbose:label 2>&1};
like ($output, qr/ID.+Proj.+Pri.+Description/, '\'label\' verbosity good');
like ($output, qr/ID.+A.+D.+Project.+Tags.+R.+Wait.+S.+Due.+Until.+Description/, '\'label\' verbosity good');
# Verbosity: 'affected'
$output = qx{../src/task rc:verbose.rc ls rc.verbose:affected 2>&1};

View file

@ -34,6 +34,10 @@ use Test::More tests => 13;
if (open my $fh, '>', 'wait.rc')
{
print $fh "data.location=.\n",
"report.ls.columns=id,project,priority,description\n",
"report.ls.labels=ID,Proj,Pri,Description\n",
"report.ls.sort=priority-,project+\n",
"report.ls.filter=status:pending\n",
"confirmation=off\n";
close $fh;