From d24fb3d0b9f405df2c3c88c85404aa7bf227cd6a Mon Sep 17 00:00:00 2001 From: Flaviu Tamas Date: Fri, 16 Jan 2015 19:01:33 -0500 Subject: [PATCH] Fix named argument handling Instead of trying to use the whole parameter, it uses just the RHS, as expected --- lib/pure/unittest.nim | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/pure/unittest.nim b/lib/pure/unittest.nim index d429414207..8dc9fe0d4b 100644 --- a/lib/pure/unittest.nim +++ b/lib/pure/unittest.nim @@ -149,10 +149,19 @@ macro check*(conditions: stmt): stmt {.immediate.} = inc counter var arg = newIdentNode(":p" & $counter) var argStr = exp[i].toStrLit + var paramAst = exp[i] if exp[i].kind in nnkCallKinds: inspectArgs(exp[i]) - argsAsgns.add getAst(asgn(arg, exp[i])) + if exp[i].kind == nnkExprEqExpr: + # ExprEqExpr + # Ident !"v" + # IntLit 2 + paramAst = exp[i][1] + argsAsgns.add getAst(asgn(arg, paramAst)) argsPrintOuts.add getAst(print(argStr, arg)) - exp[i] = arg + if exp[i].kind != nnkExprEqExpr: + exp[i] = arg + else: + exp[i][1] = arg case checked.kind of nnkCallKinds: