Implemented asyncfile for Posix.
This commit is contained in:
parent
31deee5142
commit
52c16a1a79
3 changed files with 95 additions and 16 deletions
|
|
@ -5,10 +5,32 @@ discard """
|
|||
import asyncfile, asyncdispatch, os
|
||||
|
||||
proc main() {.async.} =
|
||||
var file = openAsync(getTempDir() / "foobar.txt", fmReadWrite)
|
||||
await file.write("test")
|
||||
file.setFilePos(0)
|
||||
let data = await file.readAll()
|
||||
doAssert data == "test"
|
||||
let fn = getTempDir() / "foobar.txt"
|
||||
removeFile(fn)
|
||||
|
||||
# Simple write/read test.
|
||||
block:
|
||||
var file = openAsync(fn, fmReadWrite)
|
||||
await file.write("test")
|
||||
file.setFilePos(0)
|
||||
await file.write("foo")
|
||||
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()
|
||||
await errorTest
|
||||
doAssert errorTest.failed
|
||||
file.close()
|
||||
file = openAsync(fn, fmRead)
|
||||
let data = await file.readAll()
|
||||
|
||||
doAssert data == "foot\ntest2"
|
||||
file.close()
|
||||
|
||||
waitFor main()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue