def setup(self): self.mockvim = MockVim() self.cache = MockCache() sys.modules['vim'] = self.mockvim from taskwiki.preset import PresetHeader self.PresetHeader = PresetHeader
class TestParsingPresetHeader(object): def setup(self): self.mockvim = MockVim() self.cache = MockCache() sys.modules['vim'] = self.mockvim from taskwiki.preset import PresetHeader self.PresetHeader = PresetHeader def teardown(self): self.mockvim.reset() self.cache.reset() def test_simple(self): self.cache.buffer[0] = "== Test || project:Home ==" header = self.PresetHeader.from_line(0, self.cache) assert header.taskfilter == ["(", "project:Home", ")"] assert header.defaults == {'project': 'Home'} def test_defaults(self): self.cache.buffer[0] = "== Test || project:Home || +home ==" header = self.PresetHeader.from_line(0, self.cache) assert header.taskfilter == ["(", "project:Home", ")"] assert header.defaults == {'tags': ['home']}
def setup(self): self.mockvim = MockVim() self.cache = MockCache() # Setup fake entries for custom TaskWarrior instance and Sort order self.cache.warriors.update({'T': 'extra'}) self.mockvim.vars.update({'taskwiki_sort_orders': dict(T='extra')}) sys.modules['vim'] = self.mockvim from taskwiki.viewport import ViewPort self.ViewPort = ViewPort
class TestParsingPresetHeader(object): def setup(self): self.mockvim = MockVim() self.cache = MockCache() sys.modules['vim'] = self.mockvim from taskwiki.preset import PresetHeader self.PresetHeader = PresetHeader def teardown(self): self.mockvim.reset() self.cache.reset() def process_preset_header(self, preset_header, test_syntax): """ Expands the example preset_header to a syntax of a markup and pass on to MockVim to be processed. The result of the processed preset_header is collected. """ markup, header_expand = test_syntax formatted_preset_header = header_expand(preset_header) print(formatted_preset_header) self.cache.markup_syntax = markup self.cache.buffer[0] = formatted_preset_header header = self.PresetHeader.from_line(0, self.cache) return header def test_simple(self, test_syntax): preset_header = "HEADER2(Test || project:Home)" header = self.process_preset_header(preset_header, test_syntax) assert header.taskfilter == ["(", "project:Home", ")"] assert header.defaults == {'project': 'Home'} def test_defaults(self, test_syntax): preset_header = "HEADER2(Test || project:Home || +home)" header = self.process_preset_header(preset_header, test_syntax) assert header.taskfilter == ["(", "project:Home", ")"] assert header.defaults == {'tags': ['home']}
class TestParsingVimwikiTask(object): def setup(self): self.mockvim = MockVim() self.cache = MockCache() # Setup fake entries for custom TaskWarrior instance and Sort order self.cache.warriors.update({'T': 'extra'}) self.mockvim.vars.update({'taskwiki_sort_orders': dict(T='extra')}) sys.modules['vim'] = self.mockvim from taskwiki.viewport import ViewPort self.ViewPort = ViewPort def teardown(self): self.mockvim.reset() self.cache.reset() def process_viewport(self, viewport, test_syntax): """ Expands the example viewport to a syntax of a markup and pass on to MockVim to be processed. The result of the processed viewport is collected. """ markup, header_expand = test_syntax formatted_viewport = header_expand(viewport) self.cache.markup_syntax = markup self.cache.buffer[0] = formatted_viewport port = self.ViewPort.from_line(0, self.cache) return port def test_simple(self, test_syntax): example_viewport = "HEADER2(Test | project:Home)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + [ "(", "project:Home", ")" ] assert port.name == "Test" assert port.sort == DEFAULT_SORT_ORDER assert port.tw == 'default' def test_defaults(self, test_syntax): example_viewport = "HEADER2(Test | project:Home | +home)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + [ "(", "project:Home", ")" ] assert port.name == "Test" assert port.defaults == {'tags': ['home']} assert port.sort == DEFAULT_SORT_ORDER assert port.tw == 'default' def test_different_tw(self, test_syntax): example_viewport = "HEADER2(Test | project:Home #T)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + [ "(", "project:Home", ")" ] assert port.name == "Test" assert port.sort == DEFAULT_SORT_ORDER assert port.tw == 'extra' def test_different_sort(self, test_syntax): example_viewport = "HEADER2(Test | project:Home $T)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + [ "(", "project:Home", ")" ] assert port.name == "Test" assert port.sort == 'extra' assert port.tw == 'default' def test_different_sort_with_complex_filter(self, test_syntax): example_viewport = "HEADER2(Test | project:Home or project:Work $T)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + [ "(", "project:Home", "or", "project:Work", ")" ] assert port.name == "Test" assert port.sort == 'extra' assert port.tw == 'default' def test_different_sort_tw(self, test_syntax): example_viewport = "HEADER2(Test | project:Home #T $T)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + [ "(", "project:Home", ")" ] assert port.name == "Test" assert port.sort == 'extra' assert port.tw == 'extra' def test_defaults_different_tw(self, test_syntax): example_viewport = "HEADER2(Test | project:Home | +home #T)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + [ "(", "project:Home", ")" ] assert port.name == "Test" assert port.defaults == {'tags': ['home']} assert port.sort == DEFAULT_SORT_ORDER assert port.tw == 'extra' def test_defaults_different_tw_sort(self, test_syntax): example_viewport = "HEADER2(Test | project:Home | +home #T $T)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == list(DEFAULT_VIEWPORT_VIRTUAL_TAGS) + [ "(", "project:Home", ")" ] assert port.name == "Test" assert port.defaults == {'tags': ['home']} assert port.sort == 'extra' assert port.tw == 'extra' def test_override_default_virtual_tags_neutral(self, test_syntax): example_viewport = "HEADER2(Test | project:Home !?DELETED)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == ["-PARENT", "(", "project:Home", ")"] assert port.name == "Test" assert port.defaults == {'project': 'Home'} assert port.sort == DEFAULT_SORT_ORDER assert port.tw == 'default' def test_override_default_virtual_tags_positive(self, test_syntax): example_viewport = "HEADER2(Test | project:Home !+DELETED)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == [ "+DELETED", "-PARENT", "(", "project:Home", ")" ] assert port.name == "Test" assert port.defaults == {'project': 'Home'} assert port.sort == DEFAULT_SORT_ORDER assert port.tw == 'default' def test_override_default_virtual_tags_negative(self, test_syntax): example_viewport = "HEADER2(Test | project:Home !-DELETED)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == [ "-DELETED", "-PARENT", "(", "project:Home", ")" ] assert port.name == "Test" assert port.defaults == {'project': 'Home'} assert port.sort == DEFAULT_SORT_ORDER assert port.tw == 'default' def test_override_default_virtual_tags_positive_without_forcing( self, test_syntax): example_viewport = "HEADER2(Test | project:Home +DELETED)" port = self.process_viewport(example_viewport, test_syntax) assert port.taskfilter == [ "-PARENT", "(", "project:Home", "+DELETED", ")" ] assert port.name == "Test" assert port.defaults == {'project': 'Home'} assert port.sort == DEFAULT_SORT_ORDER assert port.tw == 'default'
def setup(self): self.mockvim = MockVim() self.cache = MockCache() sys.modules['vim'] = self.mockvim from taskwiki.vwtask import VimwikiTask self.VimwikiTask = VimwikiTask
import sys from tests.base import MockVim sys.modules['vim'] = MockVim() from taskwiki import util class TestParsingModstrings(object): def test_modstring_to_args(self): assert util.tw_modstring_to_args("") == [] assert util.tw_modstring_to_args("project:Random") == [ "project:Random" ] assert util.tw_modstring_to_args("project:Random area:admin") == [ "project:Random", "area:admin" ] assert util.tw_modstring_to_args("project:Random +test") == [ "project:Random", "+test" ] assert util.tw_modstring_to_args("project:'Random +test'") == [ "project:Random +test" ] def test_modstring_to_args_with_spaces(self): assert util.tw_modstring_to_args("project:Random +test") == [ "project:Random", "+test" ] assert util.tw_modstring_to_args("project:Random due:now") == [ "project:Random", "due:now" ]