X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/30a5525b762a066b56e6f981c8d79193740419fe..75dea64c1fbf2464c489abf4611ea6952ed60f2d:/tasklib/tests.py diff --git a/tasklib/tests.py b/tasklib/tests.py index 94294dc..4ff4e03 100644 --- a/tasklib/tests.py +++ b/tasklib/tests.py @@ -1,3 +1,5 @@ +# coding=utf-8 + import shutil import tempfile import unittest @@ -8,7 +10,7 @@ from .task import TaskWarrior class TasklibTest(unittest.TestCase): def setUp(self): - self.tmp = tempfile.mkdtemp() + self.tmp = tempfile.mkdtemp(dir='.') self.tw = TaskWarrior(data_location=self.tmp) def tearDown(self): @@ -36,3 +38,54 @@ class TaskFilterTest(TasklibTest): def test_completed_empty(self): self.tw.execute_command(['add', 'test task']) self.assertEqual(len(self.tw.tasks.completed()), 0) + + def test_completed_non_empty(self): + self.tw.execute_command(['add', 'test task']) + self.assertEqual(len(self.tw.tasks.completed()), 0) + self.tw.tasks.all()[0].done() + self.assertEqual(len(self.tw.tasks.completed()), 1) + + +class AnnotationTest(TasklibTest): + + def setUp(self): + super(AnnotationTest, self).setUp() + self.tw.execute_command(['add', 'test task']) + + def test_adding_annotation(self): + task = self.tw.tasks.get() + task.add_annotation('test annotation') + self.assertEqual(len(task['annotations']), 1) + ann = task['annotations'][0] + self.assertEqual(ann['description'], 'test annotation') + + def test_removing_annotation(self): + task = self.tw.tasks.get() + task.add_annotation('test annotation') + ann = task['annotations'][0] + ann.remove() + self.assertEqual(len(task['annotations']), 0) + + def test_removing_annotation_by_description(self): + task = self.tw.tasks.get() + task.add_annotation('test annotation') + task.remove_annotation('test annotation') + self.assertEqual(len(task['annotations']), 0) + + def test_removing_annotation_by_obj(self): + task = self.tw.tasks.get() + task.add_annotation('test annotation') + ann = task['annotations'][0] + task.remove_annotation(ann) + self.assertEqual(len(task['annotations']), 0) + + +class UnicodeTest(TasklibTest): + + def test_unicode_task(self): + self.tw.execute_command(['add', '†åßk']) + self.tw.tasks.get() + + def test_non_unicode_task(self): + self.tw.execute_command(['add', 'task']) + self.tw.tasks.get()