]>
git.madduck.net Git - etc/taskwarrior.git/blobdiff - tasklib/tests.py
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
def test_adding_tag_by_appending(self):
t = Task(self.tw, description="test task", tags=['test1'])
t.save()
def test_adding_tag_by_appending(self):
t = Task(self.tw, description="test task", tags=['test1'])
t.save()
- t['tags'].appen d('test2')
- self.assertEqual(t['tags'], ['test1', 'test2'])
+ self.assertEqual(t['tags'], set(['test1', 'test2']))
+
+ def test_adding_tag_twice(self):
+ t = Task(self.tw, description="test task", tags=['test1'])
+ t.save()
+ t['tags'].add('test2')
+ t['tags'].add('test2')
+ t.save()
+ self.assertEqual(t['tags'], set(['test1', 'test2']))
def test_adding_tag_by_appending_empty(self):
t = Task(self.tw, description="test task")
t.save()
def test_adding_tag_by_appending_empty(self):
t = Task(self.tw, description="test task")
t.save()
- t['tags'].appen d('test')
- self.assertEqual(t['tags'], ['test'] )
+ self.assertEqual(t['tags'], set(['test']) )
def test_serializers_returning_empty_string_for_none(self):
# Test that any serializer returns '' when passed None
def test_serializers_returning_empty_string_for_none(self):
# Test that any serializer returns '' when passed None
t.save()
self.assertEqual(len(self.tw.tasks.pending()), 2)
t.save()
self.assertEqual(len(self.tw.tasks.pending()), 2)
+ def test_spawned_task_parent(self):
+ today = datetime.date.today()
+ t = Task(self.tw, description="brush teeth",
+ due=today, recur="daily")
+ t.save()
+
+ spawned = self.tw.tasks.pending().get(due=today)
+ assert spawned['parent'] == t
+
def test_modify_number_of_tasks_at_once(self):
for i in range(1, 100):
Task(self.tw, description="test task %d" % i, tags=['test']).save()
def test_modify_number_of_tasks_at_once(self):
for i in range(1, 100):
Task(self.tw, description="test task %d" % i, tags=['test']).save()
'"start":"20141119T152233Z",'
'"uuid":"a360fc44-315c-4366-b70c-ea7e7520b749"}')
'"start":"20141119T152233Z",'
'"uuid":"a360fc44-315c-4366-b70c-ea7e7520b749"}')
+ input_add_data_recurring = six.StringIO(
+ '{"description":"Mow the lawn",'
+ '"entry":"20160210T224304Z",'
+ '"parent":"62da6227-519c-42c2-915d-dccada926ad7",'
+ '"recur":"weekly",'
+ '"status":"pending",'
+ '"uuid":"81305335-0237-49ff-8e87-b3cdc2369cec"}')
+
input_modify_data = six.StringIO(input_add_data.getvalue() + '\n' +
'{"description":"Buy some milk finally",'
'"entry":"20141118T050231Z",'
input_modify_data = six.StringIO(input_add_data.getvalue() + '\n' +
'{"description":"Buy some milk finally",'
'"entry":"20141118T050231Z",'
self.assertEqual(t['description'], "Buy some milk")
self.assertEqual(t.pending, True)
self.assertEqual(t['description'], "Buy some milk")
self.assertEqual(t.pending, True)
+ def test_setting_up_from_add_hook_input_recurring(self):
+ t = Task.from_input(input_file=self.input_add_data_recurring,
+ backend=self.tw)
+ self.assertEqual(t['description'], "Mow the lawn")
+ self.assertEqual(t.pending, True)
+
def test_setting_up_from_modified_hook_input(self):
t = Task.from_input(input_file=self.input_modify_data, modify=True,
backend=self.tw)
def test_setting_up_from_modified_hook_input(self):
t = Task.from_input(input_file=self.input_modify_data, modify=True,
backend=self.tw)