First attempt at Python port, expand tests.

This commit is contained in:
Joshua Bemenderfer
2023-02-07 16:38:23 -05:00
parent ac821e448d
commit e72ff2eccf
11 changed files with 365 additions and 82 deletions

View File

@@ -0,0 +1,58 @@
import sys
import os
sys.path.insert(1, os.path.join(sys.path[0], '..'))
from parser import createLineData, parseLine
def next():
return sys.stdin.readline().rstrip('\n')
def linedata_basic ():
lineData = createLineData('')
while l := next():
lineData['line'] = l
parseLine(lineData)
print("| level {level} | indent {indent} | offsetHead {offsetHead} | offsetTail {offsetTail} | line {line} |".format(
level = lineData['level'], indent = lineData['indent'], offsetHead = lineData['offsetHead'], offsetTail = lineData['offsetTail'], line = lineData['line']
))
def linedata_tabs ():
lineData = createLineData('', '\t')
while l := next():
lineData['line'] = l
parseLine(lineData)
print("| level {level} | indent {indent} | offsetHead {offsetHead} | offsetTail {offsetTail} | line {line} |".format(
level = lineData['level'], indent = lineData['indent'], offsetHead = lineData['offsetHead'], offsetTail = lineData['offsetTail'], line = lineData['line']
))
def linedata_head_tail ():
lineData = createLineData('')
while l := next():
lineData['line'] = l
parseLine(lineData)
head = lineData['line'][lineData['offsetHead']:lineData['offsetTail']] if len(lineData['line']) > lineData['offsetTail'] else ''
tail = lineData['line'][lineData['offsetTail'] + 1:] if len(lineData['line']) > lineData['offsetTail'] + 1 else ''
print("| head {head} | tail {tail} |".format(
head = head, tail = tail
))
tests = {
'linedata:basic': linedata_basic,
'linedata:tabs': linedata_tabs,
'linedata:head-tail': linedata_head_tail
}
def main():
testName = sys.argv[1]
test = tests[testName]
test()
if __name__ == "__main__":
main()