Simplify tests for JS and python.
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user