mirror of
https://github.com/tbabej/taskwiki.git
synced 2025-08-19 06:43:06 +02:00
92 lines
3.4 KiB
Python
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.constants 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 == 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):
|
|
self.mockvim.current.buffer[0] = "== Test | project:Home | +home =="
|
|
port = ViewPort.from_line(0, cache)
|
|
|
|
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):
|
|
self.mockvim.current.buffer[0] = "== Test | project:Home #T =="
|
|
port = ViewPort.from_line(0, cache)
|
|
|
|
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):
|
|
self.mockvim.current.buffer[0] = "== Test | project:Home $T =="
|
|
port = ViewPort.from_line(0, cache)
|
|
|
|
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):
|
|
self.mockvim.current.buffer[0] = "== Test | project:Home or project:Work $T =="
|
|
port = ViewPort.from_line(0, cache)
|
|
|
|
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):
|
|
self.mockvim.current.buffer[0] = "== Test | project:Home #T $T =="
|
|
port = ViewPort.from_line(0, cache)
|
|
|
|
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):
|
|
self.mockvim.current.buffer[0] = "== Test | project:Home | +home #T =="
|
|
port = ViewPort.from_line(0, cache)
|
|
|
|
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):
|
|
self.mockvim.current.buffer[0] = "== Test | project:Home | +home #T $T =="
|
|
port = ViewPort.from_line(0, cache)
|
|
|
|
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'
|