taskwiki/tests/test_viewport_parsing.py
2015-08-13 23:14:37 +02:00

92 lines
3.4 KiB
Python

# -*- coding: utf-8 -*-
from datetime import datetime
from base import MockVim, MockCache
import sys
mockvim = MockVim()
sys.modules['vim'] = mockvim
from taskwiki.viewport import ViewPort
from taskwiki.viewport import DEFAULT_SORT_ORDER, DEFAULT_VIEWPORT_VIRTUAL_TAGS
cache = MockCache()
class TestParsingVimwikiTask(object):
def setup(self):
self.mockvim = MockVim()
sys.modules['vim'] = self.mockvim
def test_simple(self):
self.mockvim.current.buffer[0] = "== Test | project:Home =="
port = ViewPort.from_line(0, cache)
assert port.taskfilter == DEFAULT_VIEWPORT_VIRTUAL_TAGS + ["project:Home"]
assert port.name == "Test"
assert port.sort == DEFAULT_SORT_ORDER
assert port.tw == 'default'
def test_defaults(self):
self.mockvim.current.buffer[0] = "== Test | project:Home | +home =="
port = ViewPort.from_line(0, cache)
assert port.taskfilter == DEFAULT_VIEWPORT_VIRTUAL_TAGS + ["project:Home"]
assert port.name == "Test"
assert port.defaults == {'project':'Home', 'tags':['home']}
assert port.sort == DEFAULT_SORT_ORDER
assert port.tw == 'default'
def test_different_tw(self):
self.mockvim.current.buffer[0] = "== Test | project:Home #T =="
port = ViewPort.from_line(0, cache)
assert port.taskfilter == 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):
self.mockvim.current.buffer[0] = "== Test | project:Home $T =="
port = ViewPort.from_line(0, cache)
assert port.taskfilter == 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):
self.mockvim.current.buffer[0] = "== Test | project:Home or project:Work $T =="
port = ViewPort.from_line(0, cache)
assert port.taskfilter == 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):
self.mockvim.current.buffer[0] = "== Test | project:Home #T $T =="
port = ViewPort.from_line(0, cache)
assert port.taskfilter == DEFAULT_VIEWPORT_VIRTUAL_TAGS + ["project:Home"]
assert port.name == "Test"
assert port.sort == 'extra'
assert port.tw == 'extra'
def test_defaults_different_tw(self):
self.mockvim.current.buffer[0] = "== Test | project:Home | +home #T =="
port = ViewPort.from_line(0, cache)
assert port.taskfilter == DEFAULT_VIEWPORT_VIRTUAL_TAGS + ["project:Home"]
assert port.name == "Test"
assert port.defaults == {'project':'Home', 'tags':['home']}
assert port.sort == DEFAULT_SORT_ORDER
assert port.tw == 'extra'
def test_defaults_different_tw_sort(self):
self.mockvim.current.buffer[0] = "== Test | project:Home | +home #T $T =="
port = ViewPort.from_line(0, cache)
assert port.taskfilter == DEFAULT_VIEWPORT_VIRTUAL_TAGS + ["project:Home"]
assert port.name == "Test"
assert port.defaults == {'project':'Home', 'tags':['home']}
assert port.sort == 'extra'
assert port.tw == 'extra'