taskwiki/tests/test_syntax_parsing.py

37 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
import pytest
from taskwiki import regexp
import re
class TestParsingSyntax(object):
def test_header(self, test_syntax):
markup, header_expand = test_syntax
header = "HEADER1(Test)"
header = header_expand(header)
print("Markup: %s,\nHeader syntax:\n%s\nRegex pattern:\n%s" % (
markup, header, regexp.HEADER[markup].pattern))
if re.match(regexp.HEADER[markup], header):
assert 1
else:
assert 0
def test_macro_viewport(self, test_syntax):
markup, header_expand = test_syntax
viewport = "HEADER1(Test | project:Home | +home #T $T)"
viewport = header_expand(viewport)
print("Viewport syntax:\n%s\nRegex pattern:\n%s" % (
viewport, regexp.VIEWPORT[markup].pattern))
match = re.search(regexp.VIEWPORT[markup], viewport)
assert match != None
assert match.group('name').strip() == "Test"
assert match.group('filter').strip() == "project:Home"
assert match.group('defaults').strip() == "+home"
assert match.group('source').strip() == "T"
assert match.group('sort').strip() == "T"