diff options
Diffstat (limited to 'tests/seq/tseqcon.nim')
-rw-r--r-- | tests/seq/tseqcon.nim | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/seq/tseqcon.nim b/tests/seq/tseqcon.nim new file mode 100644 index 000000000..6e0a5b56d --- /dev/null +++ b/tests/seq/tseqcon.nim @@ -0,0 +1,51 @@ +discard """ + file: "tseqcon.nim" + output: "Hithere, what\'s your name?Hathere, what\'s your name?" +""" +# Test the add proc for sequences and strings + +const + nestedFixed = true + +type + TRec {.final.} = object + x, y: int + s: string + seq: seq[string] + TRecSeq = seq[TRec] + +proc test() = + var s, b: seq[string] + s = @[] + add(s, "Hi") + add(s, "there, ") + add(s, "what's your name?") + + b = s # deep copying here! + b[0][1] = 'a' + + for i in 0 .. len(s)-1: + write(stdout, s[i]) + for i in 0 .. len(b)-1: + write(stdout, b[i]) + + +when nestedFixed: + proc nested() = + var + s: seq[seq[string]] + for i in 0..10_000: # test if the garbage collector + # now works with sequences + s = @[ + @["A", "B", "C", "D"], + @["E", "F", "G", "H"], + @["I", "J", "K", "L"], + @["M", "N", "O", "P"]] + +test() +when nestedFixed: + nested() + +#OUT Hithere, what's your name?Hathere, what's your name? + + |