summary refs log tree commit diff stats
path: root/tests/async
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@googlemail.com>2014-09-05 21:14:18 +0100
committerDominik Picheta <dominikpicheta@googlemail.com>2014-09-05 21:14:18 +0100
commit52c16a1a79063d5dfe03cc3ecbcc6685fc15f8e7 (patch)
tree62f0f75f6e79ad5e3f0427059c01fb6441cbceca /tests/async
parent31deee5142a0f2d7a4e0c6f24f614b2d50573461 (diff)
downloadNim-52c16a1a79063d5dfe03cc3ecbcc6685fc15f8e7.tar.gz
Implemented asyncfile for Posix.
Diffstat (limited to 'tests/async')
-rw-r--r--tests/async/tasyncfile.nim32
1 files changed, 27 insertions, 5 deletions
diff --git a/tests/async/tasyncfile.nim b/tests/async/tasyncfile.nim
index 9433f07ff..78738de4e 100644
--- a/tests/async/tasyncfile.nim
+++ b/tests/async/tasyncfile.nim
@@ -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()