mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-19 23:41:29 +00:00
Implemented asyncfile for Posix.
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user