Files
Nim/tests/js/tasyncjs_bad.nim
Timothee Cour a66637bda4 followup #16871 asyncjs.then: allow pipelining procs returning futures (#17189)
* followup #16871 asyncjs.then: allow pipelining procs returning futures
* rename test files where they belong
* fix tests
* tests for then with `onReject` callback
* rename test file containing fail to avoid messing with grep
* address comments
* cleanup
* un-disable 1 test
2021-03-04 14:00:04 +01:00

23 lines
535 B
Nim

discard """
exitCode: 1
outputsub: "Error: unhandled exception: foobar: 13"
"""
# note: this needs `--unhandled-rejections=strict`, see D20210217T215950
import std/asyncjs
from std/sugar import `=>`
proc fn(n: int): Future[int] {.async.} =
if n >= 7: raise newException(ValueError, "foobar: " & $n)
else: result = n
proc main() {.async.} =
let x1 = await fn(6)
doAssert x1 == 6
await fn(7).catch((a: Error) => (discard))
let x3 = await fn(13)
doAssert false # shouldn't go here, should fail before
discard main()