summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFlaviu Tamas <tamasflaviu@gmail.com>2015-01-16 19:01:33 -0500
committerFlaviu Tamas <tamasflaviu@gmail.com>2015-01-16 19:01:33 -0500
commitd24fb3d0b9f405df2c3c88c85404aa7bf227cd6a (patch)
tree3b4de1d713985de3f8340859601305e49d170a05
parent03eb11d2c8db7c05c398a6c62489d8154fa2188a (diff)
downloadNim-d24fb3d0b9f405df2c3c88c85404aa7bf227cd6a.tar.gz
Fix named argument handling
Instead of trying to use the whole parameter, it uses just the RHS, as expected
-rw-r--r--lib/pure/unittest.nim13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/pure/unittest.nim b/lib/pure/unittest.nim
index d42941420..8dc9fe0d4 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: