add expectIdent to macros (#12778)
* add expectIdent to macros * apply feedback * Update lib/core/macros.nim Co-Authored-By: Clyybber <darkmine956@gmail.com> * Update texpectIdent2.nim * Update texpectIdent1.nim Co-authored-by: Clyybber <darkmine956@gmail.com> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
This commit is contained in:
parent
8e3a349561
commit
f95eef99a9
4 changed files with 50 additions and 1 deletions
18
tests/macros/texpectIdent1.nim
Normal file
18
tests/macros/texpectIdent1.nim
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
discard """
|
||||
errormsg: "Expected identifier to be `foo` here"
|
||||
line: 18
|
||||
"""
|
||||
|
||||
import macros
|
||||
|
||||
macro testUntyped(arg: untyped): void =
|
||||
arg.expectKind nnkStmtList
|
||||
arg.expectLen 2
|
||||
arg[0].expectKind nnkCall
|
||||
arg[0][0].expectIdent "foo" # must pass
|
||||
arg[1].expectKind nnkCall
|
||||
arg[1][0].expectIdent "foo" # must fail
|
||||
|
||||
testUntyped:
|
||||
foo(123)
|
||||
bar(321)
|
||||
24
tests/macros/texpectIdent2.nim
Normal file
24
tests/macros/texpectIdent2.nim
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
discard """
|
||||
errormsg: "Expected identifier to be `foo` here"
|
||||
line: 24
|
||||
"""
|
||||
|
||||
import macros
|
||||
|
||||
macro testTyped(arg: typed): void =
|
||||
arg.expectKind nnkStmtList
|
||||
arg.expectLen 2
|
||||
arg[0].expectKind nnkCall
|
||||
arg[0][0].expectIdent "foo" # must pass
|
||||
arg[1].expectKind nnkCall
|
||||
arg[1][0].expectIdent "foo" # must fail
|
||||
|
||||
proc foo(arg: int) =
|
||||
discard
|
||||
|
||||
proc bar(arg: int) =
|
||||
discard
|
||||
|
||||
testTyped:
|
||||
foo(123)
|
||||
bar(321)
|
||||
Loading…
Add table
Add a link
Reference in a new issue