First attempt at Python port, expand tests.
This commit is contained in:
58
packages/python/test/index.py
Normal file
58
packages/python/test/index.py
Normal 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()
|
||||
Reference in New Issue
Block a user