diff options
author | Miran <narimiran@disroot.org> | 2020-02-07 22:04:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-07 22:04:08 +0100 |
commit | f3117d350ea245769d60a80b2d12b062cff4b8ff (patch) | |
tree | 805ddf0c96d36d4f7797d77819ef975314dd8b6b | |
parent | 78b15de3044feb4ac08fd5784714fac4d470e82b (diff) | |
download | Nim-f3117d350ea245769d60a80b2d12b062cff4b8ff.tar.gz |
fix #6736: templates in unittest now show actual value (#13354)
-rw-r--r-- | lib/pure/unittest.nim | 2 | ||||
-rw-r--r-- | tests/stdlib/tunittesttemplate.nim | 25 |
2 files changed, 26 insertions, 1 deletions
diff --git a/lib/pure/unittest.nim b/lib/pure/unittest.nim index c50ef0b1b..ee2c5fe22 100644 --- a/lib/pure/unittest.nim +++ b/lib/pure/unittest.nim @@ -631,7 +631,7 @@ macro check*(conditions: untyped): untyped = var counter = 0 - if exp[0].kind == nnkIdent and + if exp[0].kind in {nnkIdent, nnkOpenSymChoice, nnkClosedSymChoice, nnkSym} and $exp[0] in ["not", "in", "notin", "==", "<=", ">=", "<", ">", "!=", "is", "isnot"]: diff --git a/tests/stdlib/tunittesttemplate.nim b/tests/stdlib/tunittesttemplate.nim new file mode 100644 index 000000000..5ac323a36 --- /dev/null +++ b/tests/stdlib/tunittesttemplate.nim @@ -0,0 +1,25 @@ +discard """ + exitcode: 1 + outputsub: ''' + tunittesttemplate.nim(20, 12): Check failed: a.b == + 2 + a.b was 0 + [FAILED] 1 +''' +""" + +# bug #6736 + +import unittest + +type + A = object + b: int + +template t: untyped = + check(a.b == 2) + +suite "1": + test "1": + var a = A(b: 0) + t() |