- The Command object failed to initialize all member on construction and
initialized them out of order (is this still a thing in C++11?).
- The _category was the only member with no accessor, which is not right.
- Problem was that Linux has been upgrading 16-color output, and the test was
based on observed output, which looks correct, but actually isn't.
We may end up marking these tests as expeected to fail, because they are not
important.
- Moving categorization (FILTER, MODIFICATION, MISCELLANEOUS) int ::analyze,
instead of waiting until ::prepareFilter means that all commands now have
access to categorized args. This means there is no need to repeatedly scan
and skip over 'rc:' etc.
If not explicitly stated on import, values with default dynamic
values (such as modified, entry or end) can produce a false
notion of incoming 'modified' data, where the only difference
between the data in the database and data being imported is
that the dynamic defaults differ, since they have been
generated at different times.
Solve the issue by neglecting the attributes with dynamic defaults,
if they have been generated.
- It's actually not yet predominant, but it looks like it will be. Since the
introduction of the context feature, subsequent changes have been made to
restrict it's influence. It appears that ultimately ゐt will only affect
reports, but currently enjoys a broader scope.
- The 'export_one' method will export one task matching a filter,
raising error if not exactly one task was matched.
- The 'latest' property will return the task matching the "+LATEST"
filter.
- An on-modify hook that reverts all changes (i.e. returns the original
task) should result in no changes. Currently the "modified:"
attribute gets updated despite no other changes being present.
- Test was comparing two supposedly identical exports, but it is possible,
and is occasionally true, that the 'entry' and 'modified' dates were not
identical.