fixes system.doAssertRaises

This commit is contained in:
Araq 2018-04-18 21:30:28 +02:00
commit 4a9f6f00ad

View file

@ -4136,17 +4136,18 @@ template doAssertRaises*(exception, code: untyped): typed =
runnableExamples: runnableExamples:
doAssertRaises(ValueError): doAssertRaises(ValueError):
raise newException(ValueError, "Hello World") raise newException(ValueError, "Hello World")
var wrong = false
try: try:
block: code
code wrong = true
raiseAssert(astToStr(exception) & " wasn't raised by:\n" & astToStr(code))
except exception: except exception:
discard discard
except Exception as exc: except Exception as exc:
raiseAssert(astToStr(exception) & raiseAssert(astToStr(exception) &
" wasn't raised, another error was raised instead by:\n"& " wasn't raised, another error was raised instead by:\n"&
astToStr(code)) astToStr(code))
if wrong:
raiseAssert(astToStr(exception) & " wasn't raised by:\n" & astToStr(code))
when defined(cpp) and appType != "lib" and not defined(js) and when defined(cpp) and appType != "lib" and not defined(js) and
not defined(nimscript) and hostOS != "standalone": not defined(nimscript) and hostOS != "standalone":