diff options
Diffstat (limited to 'tests/async/tasyncfile.nim')
-rw-r--r-- | tests/async/tasyncfile.nim | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/async/tasyncfile.nim b/tests/async/tasyncfile.nim new file mode 100644 index 000000000..78738de4e --- /dev/null +++ b/tests/async/tasyncfile.nim @@ -0,0 +1,36 @@ +discard """ + file: "tasyncexceptions.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("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() |