diff options
author | Araq <rumpf_a@web.de> | 2014-09-06 00:54:28 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-09-06 00:54:28 +0200 |
commit | ef001573df9405dff94a763fc3dac6f3e1943738 (patch) | |
tree | 3b7c7b8ed75e8dc84c778c9ebf5fd400c4417aa6 /tests/async/tasyncfile.nim | |
parent | 7f7b13a45f73c6d9dcca3ce8388833189d77426c (diff) | |
parent | 52c16a1a79063d5dfe03cc3ecbcc6685fc15f8e7 (diff) | |
download | Nim-ef001573df9405dff94a763fc3dac6f3e1943738.tar.gz |
Merge branch 'bigbreak' of https://github.com/Araq/Nimrod into bigbreak
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() |