12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- discard """
- output: '''13
- hello humans!
- 13
- '''
- file: "tasyncfile.nim"
- exitcode: 0
- """
- import asyncfile, asyncdispatch, os
- proc main() {.async.} =
- let fn = getTempDir() / "foobar.txt"
- removeFile(fn)
- # Simple write/read test.
- block:
- var file = openAsync(fn, fmReadWrite)
- await file.write("testing")
- file.setFilePos(0)
- await file.write("foo")
- file.setFileSize(4)
- file.setFilePos(0)
- let data = await file.readAll()
- doAssert data == "foot"
- file.close()
- # Append test
- block:
- var file = openAsync(fn, fmAppend)
- await file.write("\ntest2")
- let errorTest = file.readAll()
- yield errorTest
- doAssert errorTest.failed
- file.close()
- file = openAsync(fn, fmRead)
- let data = await file.readAll()
- doAssert data == "foot\ntest2"
- file.close()
- # Issue #5531
- block:
- removeFile(fn)
- var file = openAsync(fn, fmWrite)
- await file.write("test2")
- file.close()
- file = openAsync(fn, fmWrite)
- await file.write("t3")
- file.close()
- file = openAsync(fn, fmRead)
- let data = await file.readAll()
- doAssert data == "t3"
- file.close()
- # Issue #7347
- block:
- let appDir = getAppDir()
- var file = openAsync(appDir & DirSep & "hello.txt")
- echo file.getFileSize()
- echo await file.readAll()
- echo file.getFilePos()
- waitFor main()
|