mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-08-20 04:13:07 +02:00
Deletion
- An already-completed task may now also be deleted. - Added unit tests.
This commit is contained in:
parent
fce2469f41
commit
e5303a2180
3 changed files with 19 additions and 16 deletions
21
src/TDB2.cpp
21
src/TDB2.cpp
|
@ -145,7 +145,7 @@ void TF2::add_task (const Task& task)
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
void TF2::modify_task (const Task& task)
|
||||
bool TF2::modify_task (const Task& task)
|
||||
{
|
||||
// Modify in-place.
|
||||
std::string uuid = task.get ("uuid");
|
||||
|
@ -155,12 +155,13 @@ void TF2::modify_task (const Task& task)
|
|||
if (i->get ("uuid") == uuid)
|
||||
{
|
||||
*i = task;
|
||||
break;
|
||||
_modified_tasks.push_back (task);
|
||||
_dirty = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
_modified_tasks.push_back (task);
|
||||
_dirty = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -522,17 +523,9 @@ void TDB2::modify (Task& task)
|
|||
|
||||
if (taskDiff (original, task))
|
||||
{
|
||||
std::string status = original.get ("status");
|
||||
if (status == "pending" ||
|
||||
status == "waiting" ||
|
||||
status == "recurring")
|
||||
{
|
||||
pending.modify_task (task);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Update the task, wherever it is.
|
||||
if (!pending.modify_task (task))
|
||||
completed.modify_task (task);
|
||||
}
|
||||
|
||||
// time <time>
|
||||
// old <task>
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
const std::string& get_contents ();
|
||||
|
||||
void add_task (const Task&);
|
||||
void modify_task (const Task&);
|
||||
bool modify_task (const Task&);
|
||||
void add_line (const std::string&);
|
||||
void clear_lines ();
|
||||
void commit ();
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 14;
|
||||
use Test::More tests => 16;
|
||||
|
||||
# Create the rc file.
|
||||
if (open my $fh, '>', 'delete.rc')
|
||||
|
@ -70,6 +70,16 @@ $output = qx{../src/task rc:delete.rc 1 info};
|
|||
like ($output, qr/foo/, 'Deletion annotation successful');
|
||||
like ($output, qr/H/, 'Deletion modification successful');
|
||||
|
||||
# Add a task, complete it, then delete it.
|
||||
qx{../src/task rc:delete.rc add three};
|
||||
$output = qx{../src/task rc:delete.rc 2 info};
|
||||
like ($output, qr/three/, 'added and verified new task');
|
||||
my ($uuid) = $output =~ /UUID\s+(\S+)/;
|
||||
qx{../src/task rc:delete.rc 2 done};
|
||||
qx{../src/task rc:delete.rc $uuid delete};
|
||||
$output = qx{../src/task rc:delete.rc $uuid info};
|
||||
like ($output, qr/Deleted/, 'task added, completed, then deleted');
|
||||
|
||||
# Cleanup.
|
||||
unlink qw(pending.data completed.data undo.data backlog.data synch.key delete.rc);
|
||||
ok (! -r 'pending.data' &&
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue