First attempt at Python port, expand tests.
This commit is contained in:
		@@ -6,18 +6,39 @@ const testName = process.argv[2]
 | 
			
		||||
 | 
			
		||||
const tests = {
 | 
			
		||||
  'linedata:basic': async () => {
 | 
			
		||||
    const { level, line, head, tail, next } = useDocument(createStdinReader())
 | 
			
		||||
    while(await next()) {
 | 
			
		||||
      console.log(`level: ${level()} | head: ${head()} | tail: ${tail()} | line: ${line()}`)
 | 
			
		||||
    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 { level, line, head, tail, next } = useDocument(createStdinReader(), '\t')
 | 
			
		||||
    while(await next()) {
 | 
			
		||||
      console.log(`level: ${level()} | head: ${head()} | tail: ${tail()} | line: ${line()}`)
 | 
			
		||||
    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} |`)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const test = tests[testName]
 | 
			
		||||
await test()
 | 
			
		||||
await test()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user