Files
Nim/tests/arc/topt_cursor.nim
quantimnot 6289b002b6 [Testament] Extend and document message testing aids (#19996)
* [Testament] Extend and document message testing aids

* Enable inline msgs when not reject action.
Eliminates the pain of changing the line and column numbers in `nimout`
or `output` while making changes to the test.
* Enable using inline msgs and nimout together.
Allows ease of inline msgs for the test as well as testing msgs from
other modules.
* Add path separator and test filename variable interpolation in
msgs.
Eases handling path separators in the msgs.
* Add some documentation.

* Fixed lots of broken tests

* Fixed more broken tests

* Support multiple inline messages per a line

* Fix a broken test

* Revert variable substitution in `output`

* Remove uneeded params

* Update doc/testament.md

Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>

* Update testament/specs.nim

Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>

* Update testament/specs.nim

Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>

* Fix indentation

Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
2022-09-01 17:52:13 +02:00

58 lines
1.0 KiB
Nim

discard """
output: '''("string here", 80)'''
cmd: '''nim c --gc:arc --expandArc:main --expandArc:sio --hint:Performance:off $file'''
nimout: '''--expandArc: main
var
x_cursor
:tmpD
try:
x_cursor = ("hi", 5)
if cond:
x_cursor = ("different", 54) else:
x_cursor = ("string here", 80)
echo [
:tmpD = `$$`(x_cursor)
:tmpD]
finally:
`=destroy`(:tmpD)
-- end of expandArc ------------------------
--expandArc: sio
block :tmp:
var x_cursor
var f = open("debug.txt", fmRead, 8000)
try:
var res
try:
res = newStringOfCap(80)
block :tmp_1:
while readLine(f, res):
x_cursor = res
echo [x_cursor]
finally:
`=destroy`(res)
finally:
close(f)
-- end of expandArc ------------------------'''
"""
proc main(cond: bool) =
var x = ("hi", 5) # goal: computed as cursor
x = if cond:
("different", 54)
else:
("string here", 80)
echo x
main(false)
proc sio =
for x in lines("debug.txt"):
echo x
if false:
sio()