import datetime
import itertools
import json
+import os
import pytz
import six
import shutil
class TasklibTest(unittest.TestCase):
+ def get_taskwarrior(self, **kwargs):
+ tw_kwargs = dict(
+ data_location=self.tmp,
+ taskrc_location='/',
+ )
+ tw_kwargs.update(kwargs)
+ return TaskWarrior(**tw_kwargs)
+
def setUp(self):
self.tmp = tempfile.mkdtemp(dir='.')
- self.tw = TaskWarrior(data_location=self.tmp, taskrc_location='/')
+ self.tw = self.get_taskwarrior()
def tearDown(self):
shutil.rmtree(self.tmp)
+class TaskWarriorTest(TasklibTest):
+
+ def test_custom_command(self):
+ # ensure that a custom command which contains multiple parts
+ # is properly split up
+ tw = self.get_taskwarrior(
+ task_command='wsl task',
+ # prevent `_get_version` from running as `wsl` may not exist
+ version_override=os.getenv('TASK_VERSION'),
+ )
+ self.assertEqual(tw._get_task_command(), ['wsl', 'task'])
+
+
class TaskFilterTest(TasklibTest):
def test_all_empty(self):
t = Task(self.tw, description='test')
t.save()
- self.assertEquals(t['description'], 'test')
+ self.assertEqual(t['description'], 'test')
t['description'] = 'test-modified'
t.save()
- self.assertEquals(t['description'], 'test-modified')
+ self.assertEqual(t['description'], 'test-modified')
def test_modify_simple_attribute_with_space(self):
# Space can pose problems with parsing
t = Task(self.tw, description='test task')
t.save()
- self.assertEquals(t['description'], 'test task')
+ self.assertEqual(t['description'], 'test task')
t['description'] = 'test task modified'
t.save()
- self.assertEquals(t['description'], 'test task modified')
+ self.assertEqual(t['description'], 'test task modified')
def test_empty_dependency_set_of_unsaved_task(self):
t = Task(self.tw, description='test task')