t.save()
self.assertFalse(t.active)
+ def test_stop_completed_task(self):
+ t = Task(self.tw, description="test task")
+ t.save()
+ t.start()
+ t.done()
+
+ self.assertRaises(Task.InactiveTask, t.stop)
+
+ t = Task(self.tw, description="test task")
+ t.save()
+ t.done()
+
+ self.assertRaises(Task.InactiveTask, t.stop)
+
+ def test_stop_deleted_task(self):
+ t = Task(self.tw, description="test task")
+ t.save()
+ t.start()
+ t.delete()
+ t.stop()
+
+ def test_stop_inactive_task(self):
+ t = Task(self.tw, description="test task")
+ t.save()
+
+ self.assertRaises(Task.InactiveTask, t.stop)
+
+ t = Task(self.tw, description="test task")
+ t.save()
+ t.start()
+ t.stop()
+
+ self.assertRaises(Task.InactiveTask, t.stop)
+
+ def test_stopping_task(self):
+ t = Task(self.tw, description="test task")
+ now = t.datetime_normalizer(datetime.datetime.now())
+ t.save()
+ t.start()
+ t.stop()
+
+ self.assertEqual(t['end'], None)
+ self.assertEqual(t['status'], 'pending')
+ self.assertFalse(t.active)
+
def test_modify_simple_attribute_without_space(self):
t = Task(self.tw, description="test")
t.save()
self.tw.execute_command(['+test', 'mod', 'unified', 'description'])
+ def test_return_all_from_executed_command(self):
+ Task(self.tw, description="test task", tags=['test']).save()
+ out, err, rc = self.tw.execute_command(['count'], return_all=True)
+ self.assertEqual(rc, 0)
+
+ def test_return_all_from_failed_executed_command(self):
+ Task(self.tw, description="test task", tags=['test']).save()
+ out, err, rc = self.tw.execute_command(['countinvalid'],
+ return_all=True, allow_failure=False)
+ self.assertNotEqual(rc, 0)
+
class TaskFromHookTest(TasklibTest):
class UnicodeTest(TasklibTest):
def test_unicode_task(self):
- Task(self.tw, description="†åßk").save()
+ Task(self.tw, description=six.u("†åßk")).save()
self.tw.tasks.get()
def test_filter_by_unicode_task(self):
- Task(self.tw, description="†åßk").save()
- tasks = self.tw.tasks.filter(description="†åßk")
+ Task(self.tw, description=six.u("†åßk")).save()
+ tasks = self.tw.tasks.filter(description=six.u("†åßk"))
self.assertEqual(len(tasks), 1)
def test_non_unicode_task(self):