summary refs log tree commit diff stats
path: root/tests/async/tasyncfile.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-09-06 00:54:28 +0200
committerAraq <rumpf_a@web.de>2014-09-06 00:54:28 +0200
commitef001573df9405dff94a763fc3dac6f3e1943738 (patch)
tree3b7c7b8ed75e8dc84c778c9ebf5fd400c4417aa6 /tests/async/tasyncfile.nim
parent7f7b13a45f73c6d9dcca3ce8388833189d77426c (diff)
parent52c16a1a79063d5dfe03cc3ecbcc6685fc15f8e7 (diff)
downloadNim-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.nim36
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()