diff --git a/packages/js/test/index.js b/packages/js/test/index.js index 237f6c1..ebd2b69 100644 --- a/packages/js/test/index.js +++ b/packages/js/test/index.js @@ -3,42 +3,31 @@ import { createStdinReader } from '@terrace-lang/js/readers/node-readline' const testName = process.argv[2] +async function linedata_basic(indent) { + const lineData = createLineData('', indent) + const next = createStdinReader() -const tests = { - 'linedata:basic': async () => { - const lineData = createLineData('') - const next = createStdinReader() - - while ((lineData.line = await next()) != null) { - parseLine(lineData) - const { level, indent, offsetHead, offsetTail, line } = lineData - console.log(`| level ${level} | indent ${indent} | offsetHead ${offsetHead} | offsetTail ${offsetTail} | line ${line} |`) - } - }, - 'linedata:tabs': async () => { - const lineData = createLineData('', '\t') - const next = createStdinReader() - - while ((lineData.line = await next()) != null) { - parseLine(lineData) - const { level, indent, offsetHead, offsetTail, line } = lineData - console.log(`| level ${level} | indent ${indent} | offsetHead ${offsetHead} | offsetTail ${offsetTail} | line ${line} |`) - } - }, - 'linedata:head-tail': async () => { - const lineData = createLineData('') - const next = createStdinReader() - - while ((lineData.line = await next()) != null) { - parseLine(lineData) - const { level, indent, offsetHead, offsetTail, line } = lineData - const head = line.slice(offsetHead, offsetTail) - const tail = line.slice(offsetTail + 1) - - console.log(`| head ${head} | tail ${tail} |`) - } + while ((lineData.line = await next()) != null) { + parseLine(lineData) + const { level, indent, offsetHead, offsetTail, line } = lineData + console.log(`| level ${level} | indent ${indent} | offsetHead ${offsetHead} | offsetTail ${offsetTail} | line ${line} |`) } } -const test = tests[testName] -await test() +async function linedata_head_tail () { + const lineData = createLineData('') + const next = createStdinReader() + + while ((lineData.line = await next()) != null) { + parseLine(lineData) + const { level, indent, offsetHead, offsetTail, line } = lineData + const head = line.slice(offsetHead, offsetTail) + const tail = line.slice(offsetTail + 1) + + console.log(`| head ${head} | tail ${tail} |`) + } +} + +if (testName === 'linedata:basic') await linedata_basic() +if (testName === 'linedata:tabs') await linedata_basic('\t') +if (testName === 'linedata:head-tail') await linedata_head_tail() diff --git a/packages/python/test/index.py b/packages/python/test/index.py index d0f738c..3dd08c8 100644 --- a/packages/python/test/index.py +++ b/packages/python/test/index.py @@ -13,8 +13,8 @@ def next(): # return None if there actually is no result. return line.rstrip('\n') if len(line) > 0 else None -def linedata_basic (): - lineData = createLineData('') +def linedata_basic (indent): + lineData = createLineData('', indent) while (l := next()) != None: lineData['line'] = l @@ -46,18 +46,12 @@ def linedata_head_tail (): 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 testName == 'linedata:basic': linedata_basic(' ') + if testName == 'linedata:tabs': linedata_basic('\t') + if testName == 'linedata:head-tail': linedata_head_tail() if __name__ == "__main__": main()