summary refs log tree commit diff stats
path: root/tests/async/tasyncfile.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/async/tasyncfile.nim')
-rw-r--r--tests/async/tasyncfile.nim33
1 files changed, 29 insertions, 4 deletions
diff --git a/tests/async/tasyncfile.nim b/tests/async/tasyncfile.nim
index 26a9bb391..d95850c31 100644
--- a/tests/async/tasyncfile.nim
+++ b/tests/async/tasyncfile.nim
@@ -1,6 +1,9 @@
 discard """
-  file: "tasyncfile.nim"
-  exitcode: 0
+output: '''
+13
+hello humans!
+13
+'''
 """
 import asyncfile, asyncdispatch, os
 
@@ -11,9 +14,10 @@ proc main() {.async.} =
   # Simple write/read test.
   block:
     var file = openAsync(fn, fmReadWrite)
-    await file.write("test")
+    await file.write("testing")
     file.setFilePos(0)
     await file.write("foo")
+    file.setFileSize(4)
     file.setFilePos(0)
     let data = await file.readAll()
     doAssert data == "foot"
@@ -24,7 +28,7 @@ proc main() {.async.} =
     var file = openAsync(fn, fmAppend)
     await file.write("\ntest2")
     let errorTest = file.readAll()
-    echo await errorTest
+    yield errorTest
     doAssert errorTest.failed
     file.close()
     file = openAsync(fn, fmRead)
@@ -33,4 +37,25 @@ proc main() {.async.} =
     doAssert data == "foot\ntest2"
     file.close()
 
+  # Issue #5531
+  block:
+    removeFile(fn)
+    var file = openAsync(fn, fmWrite)
+    await file.write("test2")
+    file.close()
+    file = openAsync(fn, fmWrite)
+    await file.write("t3")
+    file.close()
+    file = openAsync(fn, fmRead)
+    let data = await file.readAll()
+    doAssert data == "t3"
+    file.close()
+
+  # Issue #7347
+  block:
+    var file = openAsync( parentDir(currentSourcePath) / "hello.txt")
+    echo file.getFileSize()
+    echo await file.readAll()
+    echo file.getFilePos()
+
 waitFor main()