diff --git a/tests/base.py b/tests/base.py index 691feef..907f7e0 100644 --- a/tests/base.py +++ b/tests/base.py @@ -273,6 +273,42 @@ class MockVim(object): self.vars.clear() self.warriors.clear() +class MockBuffer(object): + + def __init__(self): + self.data = [''] + + def obtain(self): + pass + + def push(self): + pass + + def __getitem__(self, index): + try: + return self.data[index] + except IndexError: + return '' + + def __setitem__(self, index, lines): + self.data[index] = lines + + def __delitem__(self, index): + del self.data[index] + + def __iter__(self): + for line in self.data: + yield line + + def __len__(self): + return len(self.data) + + def append(self, data, position=None): + if position is None: + self.data.append(data) + else: + self.data.insert(data, 0) + # Mock Cache object class MockCache(object): @@ -281,6 +317,7 @@ class MockCache(object): def __init__(self): from taskwiki import store + self.buffer = MockBuffer() self.line = store.LineStore(self) self.vwtask = dict() self.task = dict() diff --git a/tests/test_viewport_parsing.py b/tests/test_viewport_parsing.py index af3b706..40a5bc5 100644 --- a/tests/test_viewport_parsing.py +++ b/tests/test_viewport_parsing.py @@ -24,7 +24,7 @@ class TestParsingVimwikiTask(object): self.cache.reset() def test_simple(self): - self.mockvim.current.buffer[0] = "== Test | project:Home ==" + self.cache.buffer[0] = "== Test | project:Home ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + ["project:Home"] @@ -33,7 +33,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'default' def test_defaults(self): - self.mockvim.current.buffer[0] = "== Test | project:Home | +home ==" + self.cache.buffer[0] = "== Test | project:Home | +home ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + ["project:Home"] @@ -43,7 +43,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'default' def test_different_tw(self): - self.mockvim.current.buffer[0] = "== Test | project:Home #T ==" + self.cache.buffer[0] = "== Test | project:Home #T ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + ["project:Home"] @@ -52,7 +52,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'extra' def test_different_sort(self): - self.mockvim.current.buffer[0] = "== Test | project:Home $T ==" + self.cache.buffer[0] = "== Test | project:Home $T ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + ["project:Home"] @@ -61,7 +61,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'default' def test_different_sort_with_complex_filter(self): - self.mockvim.current.buffer[0] = "== Test | project:Home or project:Work $T ==" + self.cache.buffer[0] = "== Test | project:Home or project:Work $T ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + ["project:Home", "or", "project:Work"] @@ -70,7 +70,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'default' def test_different_sort_tw(self): - self.mockvim.current.buffer[0] = "== Test | project:Home #T $T ==" + self.cache.buffer[0] = "== Test | project:Home #T $T ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + ["project:Home"] @@ -79,7 +79,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'extra' def test_defaults_different_tw(self): - self.mockvim.current.buffer[0] = "== Test | project:Home | +home #T ==" + self.cache.buffer[0] = "== Test | project:Home | +home #T ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + ["project:Home"] @@ -89,7 +89,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'extra' def test_defaults_different_tw_sort(self): - self.mockvim.current.buffer[0] = "== Test | project:Home | +home #T $T ==" + self.cache.buffer[0] = "== Test | project:Home | +home #T $T ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + ["project:Home"] @@ -99,7 +99,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'extra' def test_override_default_virtual_tags_neutral(self): - self.mockvim.current.buffer[0] = "== Test | project:Home !?DELETED ==" + self.cache.buffer[0] = "== Test | project:Home !?DELETED ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == ["-PARENT", "project:Home"] @@ -109,7 +109,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'default' def test_override_default_virtual_tags_positive(self): - self.mockvim.current.buffer[0] = "== Test | project:Home !+DELETED ==" + self.cache.buffer[0] = "== Test | project:Home !+DELETED ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == ["+DELETED", "-PARENT", "project:Home"] @@ -119,7 +119,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'default' def test_override_default_virtual_tags_negative(self): - self.mockvim.current.buffer[0] = "== Test | project:Home !-DELETED ==" + self.cache.buffer[0] = "== Test | project:Home !-DELETED ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == ["-DELETED", "-PARENT","project:Home"] @@ -129,7 +129,7 @@ class TestParsingVimwikiTask(object): assert port.tw == 'default' def test_override_default_virtual_tags_positive_without_forcing(self): - self.mockvim.current.buffer[0] = "== Test | project:Home +DELETED ==" + self.cache.buffer[0] = "== Test | project:Home +DELETED ==" port = self.ViewPort.from_line(0, self.cache) assert port.taskfilter == ["-PARENT", "project:Home", "+DELETED"] diff --git a/tests/test_vwtask_parsing.py b/tests/test_vwtask_parsing.py index 1b7ac5d..f521efe 100644 --- a/tests/test_vwtask_parsing.py +++ b/tests/test_vwtask_parsing.py @@ -14,11 +14,10 @@ class TestParsingVimwikiTask(object): self.VimwikiTask = VimwikiTask def teardown(self): - self.mockvim.reset() self.cache.reset() def test_simple(self): - self.mockvim.current.buffer[0] = "* [ ] This is task description" + self.cache.buffer[0] = "* [ ] This is task description" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == "This is task description" @@ -28,7 +27,7 @@ class TestParsingVimwikiTask(object): assert vwtask['indent'] == '' def test_simple_with_unicode(self): - self.mockvim.current.buffer[0] = "* [ ] This is täsk description" + self.cache.buffer[0] = "* [ ] This is täsk description" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == u"This is täsk description" @@ -38,7 +37,7 @@ class TestParsingVimwikiTask(object): assert vwtask['indent'] == '' def test_due_full(self): - self.mockvim.current.buffer[0] = "* [ ] Random task (2015-08-08 15:15)" + self.cache.buffer[0] = "* [ ] Random task (2015-08-08 15:15)" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == u"Random task" @@ -48,7 +47,7 @@ class TestParsingVimwikiTask(object): assert vwtask['indent'] == '' def test_due_short(self): - self.mockvim.current.buffer[0] = "* [ ] Random task (2015-08-08)" + self.cache.buffer[0] = "* [ ] Random task (2015-08-08)" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == u"Random task" @@ -58,7 +57,7 @@ class TestParsingVimwikiTask(object): assert vwtask['indent'] == '' def test_priority_low(self): - self.mockvim.current.buffer[0] = "* [ ] Semi-Important task !" + self.cache.buffer[0] = "* [ ] Semi-Important task !" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == u"Semi-Important task" @@ -66,7 +65,7 @@ class TestParsingVimwikiTask(object): assert vwtask['uuid'] == None def test_priority_medium(self): - self.mockvim.current.buffer[0] = "* [ ] Important task !!" + self.cache.buffer[0] = "* [ ] Important task !!" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == u"Important task" @@ -74,7 +73,7 @@ class TestParsingVimwikiTask(object): assert vwtask['uuid'] == None def test_priority_high(self): - self.mockvim.current.buffer[0] = "* [ ] Very important task !!!" + self.cache.buffer[0] = "* [ ] Very important task !!!" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == u"Very important task" @@ -83,7 +82,7 @@ class TestParsingVimwikiTask(object): assert vwtask['due'] == None def test_priority_and_due(self): - self.mockvim.current.buffer[0] = "* [ ] Due today !!! (2015-08-08)" + self.cache.buffer[0] = "* [ ] Due today !!! (2015-08-08)" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == u"Due today" @@ -92,7 +91,7 @@ class TestParsingVimwikiTask(object): assert vwtask['uuid'] == None def test_added_modstring(self): - self.mockvim.current.buffer[0] = "* [ ] Home task -- project:Home" + self.cache.buffer[0] = "* [ ] Home task -- project:Home" vwtask = self.VimwikiTask.from_line(self.cache, 0) assert vwtask['description'] == u"Home task"