All JS and Python tests passing.
This commit is contained in:
@@ -6,12 +6,17 @@ sys.path.insert(1, os.path.join(sys.path[0], '..'))
|
||||
from parser import createLineData, parseLine
|
||||
|
||||
def next():
|
||||
return sys.stdin.readline().rstrip('\n')
|
||||
# For blank lines, readline will return a newline.
|
||||
# For no result, readline will return a string of length 0.
|
||||
line = sys.stdin.readline()
|
||||
# Since we strip trailing newlines resulting in an empty string for empty lines,
|
||||
# return None if there actually is no result.
|
||||
return line.rstrip('\n') if len(line) > 0 else None
|
||||
|
||||
def linedata_basic ():
|
||||
lineData = createLineData('')
|
||||
|
||||
while l := next():
|
||||
while (l := next()) != None:
|
||||
lineData['line'] = l
|
||||
parseLine(lineData)
|
||||
print("| level {level} | indent {indent} | offsetHead {offsetHead} | offsetTail {offsetTail} | line {line} |".format(
|
||||
@@ -21,7 +26,7 @@ def linedata_basic ():
|
||||
def linedata_tabs ():
|
||||
lineData = createLineData('', '\t')
|
||||
|
||||
while l := next():
|
||||
while (l := next()) != None:
|
||||
lineData['line'] = l
|
||||
parseLine(lineData)
|
||||
print("| level {level} | indent {indent} | offsetHead {offsetHead} | offsetTail {offsetTail} | line {line} |".format(
|
||||
@@ -31,10 +36,10 @@ def linedata_tabs ():
|
||||
def linedata_head_tail ():
|
||||
lineData = createLineData('')
|
||||
|
||||
while l := next():
|
||||
while (l := next()) != None:
|
||||
lineData['line'] = l
|
||||
parseLine(lineData)
|
||||
head = lineData['line'][lineData['offsetHead']:lineData['offsetTail']] if len(lineData['line']) > lineData['offsetTail'] else ''
|
||||
head = lineData['line'][lineData['offsetHead']:lineData['offsetTail']] if len(lineData['line']) > lineData['offsetHead'] else ''
|
||||
tail = lineData['line'][lineData['offsetTail'] + 1:] if len(lineData['line']) > lineData['offsetTail'] + 1 else ''
|
||||
|
||||
print("| head {head} | tail {tail} |".format(
|
||||
|
||||
Reference in New Issue
Block a user