new tester; all tests categorized

This commit is contained in:
Araq 2014-01-13 02:10:03 +01:00
commit 20b5f31c03
481 changed files with 794 additions and 2506 deletions

17
tests/varres/tvarres1.nim Normal file
View file

@ -0,0 +1,17 @@
discard """
file: "tvarres1.nim"
line: 12
errormsg: "address of 'bla' may not escape its stack frame"
"""
var
g = 5
proc p(): var int =
var bla: int
result = bla
p() = 45
echo g

16
tests/varres/tvarres2.nim Normal file
View file

@ -0,0 +1,16 @@
discard """
file: "tvarres2.nim"
line: 11
errormsg: "expression has no address"
"""
var
g = 5
proc p(): var int =
result = 89
p() = 45
echo g

15
tests/varres/tvarres3.nim Normal file
View file

@ -0,0 +1,15 @@
discard """
output: "45"
"""
var
g = 5
proc p(): var int =
var bla = addr(g) #: array [0..7, int]
result = bla[]
p() = 45
echo g

20
tests/varres/tvarres4.nim Normal file
View file

@ -0,0 +1,20 @@
discard """
output: "45 hallo"
"""
type
TKachel = tuple[i: int, s: string]
TSpielwiese = object
k: seq[TKachel]
var
spielwiese: TSpielwiese
newSeq(spielwiese.k, 64)
proc at*(s: var TSpielwiese, x, y: int): var TKachel =
result = s.k[y * 8 + x]
spielwiese.at(3, 4) = (45, "hallo")
echo spielwiese.at(3,4)[0], " ", spielwiese.at(3,4)[1]

17
tests/varres/tvartup.nim Normal file
View file

@ -0,0 +1,17 @@
discard """
file: "tvartup.nim"
output: "2 3"
"""
# Test the new tuple unpacking
proc divmod(a, b: int): tuple[di, mo: int] =
return (a div b, a mod b)
var (x, y) = divmod(15, 6)
stdout.write(x)
stdout.write(" ")
stdout.write(y)
#OUT 2 3