- Implemented unit tests to very that "confirmation=yes" works.
- Implemented unit tests to very that \n causes a re-prompt.
- Updated docs with regard to this fix, thanks to Bruce Dillahunty.
- Fixed bug where util.cpp:confirm was eating newlines, and not
rewriting the prompt. Consequently, after confirm asked the
question, and the user hit <Enter>, nothing was displayed but
the newline. Now uses std::getline.
- Implemented unit tests (more of a demo) that add a bunch of UTF-8
encoded tasks, as a starting point to updating task to be aware of
encodings, Unicode etc.
- abbreviation.t contains unit tests that fail to specify an alternate
rc file (rc:abbrev.rc), and so instead rely on ~/.taskrc. For a new
installation, there is no .taskrc, so task offers to create one.
When done in the context of a unit test, task hangs waiting for input.
- due.t was incorrectly reporting the number of tests it intended to
run.
- export.t was not updated when the export command was updated to include
recurrence information.
- The custom report limit "report.x.limit" was being used to limit the
rendered rows in the table. Instead, there should be something like
min (limit, actual_rows) used, in Table.cpp.
The symptom was duplicate tasks in a "task oldest" report, when there
were less than 10 tasks.
- Using size_t as a result for std::string::find causes a silent error,
reported only on Ubuntu 8. size_t is not large enough. The proper
result type is std::string::size_type. This fixes a problem with
the command "task old" responding with "Ambiguous commane 'old' -
could be one of oldest, oldest.description, oldest.limit, oldest.sort".
- Added unit tests to verify that the next report returns the correct
tasks.
- Added unit test to verify that unrecognized columns in a custom
report are flagged.
- Added unit tests to verify that only pending and completed tasks
are included in the summary report.
- Now sanitizes output by replacing ' with " in descriptions.
- Added 'recur' attribute to exported output.
- Removed recurring, deleted and complete tasks from the export.
- Improved dateformat.t tests to cover all acceptable date format
characters.
- Unit tests for shadow file update notification.
- Unit tests for shadow file updates under certain circumstances.
- Unit tests for shadow file no updates under other circumstances.
- Every command now returns an output string, or at least has an
opportunity to do so.
- TDB::gc is only performed a) when allowed, and b) when the command
will display line numbers.
- updateShadowFile is only performed when a) shadow updates are allowed,
and either b) when a command is guaranteed to have modified a task or
c) when TDB:gc has already made changes.
- Task runs the default command when no arguments are provided, but
when an "rc:..." argument is provided, it does not run the default
command.
- Implemented unit tests to verify the functioning of default commands,
default project and default priority.
- Implemented unit tests to verify that the "oldest" report does
indeed show the oldest 10 tasks.
- Implemented unit tests to verify that the "newest" report does
indeed show the newest 10 tasks.
- Added support for the "report.X.limit" configuration variable, to
restrict the number of rows a report generates.
- Added support for Table::render (limit) to limit the number of rows
that are rendered.
- Removed "oldest" and "newest" report code.
- Added "oldest" and "newest" custom report details to Config.cpp
- Updated various documentation.
- Fixed bug whereby if a new month rolls around, and no task is added,
no row of data is shown in the history or ghistory reports, even
though tasks may have been completed or deleted ni the new month.
- Task now displays as many calendars will fit across the window,
unless a lower value is specified in the "monthsperline" configuration
variable.
- Task now obeys the "color" configuration variable when determining
whether to add a legend to the calendar output.
- Added support for the "locking" configuration variable that disables
file locking. This can be helpful to folks who use task on Solaris,
and store their task data files on an NFS mount.