nim-libp2p/tests/teststreams.nim

30 lines
600 B
Nim
Raw Normal View History

2020-04-17 15:52:55 -06:00
import unittest
import chronos
import streams/[stream,
pushable,
chronosstream,
connection,
utils]
suite "streams":
test "interuption":
proc test() {.async.} =
iterator source(): Future[int] {.closure.} =
for i in 0..5:
if i == 4:
break
yield i.toFuture
proc sink(i: Source[int]): Future[void] {.async.} =
var count = 0
for item in i:
discard await item
count.inc
check: count == 4
await source.sink()
waitFor(test())