X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/3a9e4aebe4359123804b6e5bca8c5678546b688e..aa96b5703ca8df1df113ac165b0d756c03517435:/tasklib/tests.py diff --git a/tasklib/tests.py b/tasklib/tests.py index 6407221..eb19948 100644 --- a/tasklib/tests.py +++ b/tasklib/tests.py @@ -2,6 +2,8 @@ import datetime import itertools +import json +import pytz import six import shutil import tempfile @@ -30,7 +32,7 @@ TASK_STANDARD_ATTRS = ( 'priority', 'depends', 'tags', - 'annotation', + 'annotations', ) class TasklibTest(unittest.TestCase): @@ -494,7 +496,6 @@ class TaskTest(TasklibTest): self.assertTrue(deserializer('') in (None, [], set())) - class TaskFromHookTest(TasklibTest): input_add_data = six.StringIO( @@ -532,7 +533,8 @@ class TaskFromHookTest(TasklibTest): def test_export_data(self): t = Task(self.tw, description="test task", - project="Home", due=datetime.datetime(2015,1,1,23,23,23)) + project="Home", + due=pytz.utc.localize(datetime.datetime(2015,1,1,23,23,23))) # Check that the output is a permutation of: # {"project":"Home","description":"test task","due":"20150101232323Z"} @@ -587,6 +589,23 @@ class AnnotationTest(TasklibTest): task.save() self.assertEqual(task['project'], 'test') + def test_serialize_annotations(self): + # Test that serializing annotations is possible + t = Task(self.tw, description="test") + t.save() + + t.add_annotation("annotation1") + t.add_annotation("annotation2") + + data = t._serialize('annotations', t._data['annotations']) + + self.assertEqual(len(data), 2) + self.assertEqual(type(data[0]), dict) + self.assertEqual(type(data[1]), dict) + + self.assertEqual(data[0]['description'], "annotation1") + self.assertEqual(data[1]['description'], "annotation2") + class UnicodeTest(TasklibTest):