Added removeCallback() test.

This commit is contained in:
cheatfate 2018-05-30 07:35:27 +03:00
parent 490f8484ca
commit 6faceb3b8c
1 changed files with 26 additions and 0 deletions

View File

@ -46,6 +46,30 @@ proc test3(): string =
if fut.finished:
result = testResult
proc test4(): string =
var testResult = ""
var fut = testFuture1()
proc cb1(udata: pointer) =
testResult &= "1"
proc cb2(udata: pointer) =
testResult &= "2"
proc cb3(udata: pointer) =
testResult &= "3"
proc cb4(udata: pointer) =
testResult &= "4"
proc cb5(udata: pointer) =
testResult &= "5"
fut.addCallback cb1
fut.addCallback cb2
fut.addCallback cb3
fut.addCallback cb4
fut.addCallback cb5
fut.removeCallback cb3
discard waitFor(fut)
poll()
if fut.finished:
result = testResult
when isMainModule:
suite "Future[T] behavior test suite":
test "Async undefined behavior (#7758) test":
@ -54,3 +78,5 @@ when isMainModule:
check test2() == true
test "Future[T] callbacks are invoked in reverse order (#7197) test":
check test3() == "12345"
test "Future[T] callbacks not changing order after removeCallback()":
check test4() == "1245"