summary refs log tree commit diff stats
path: root/tests/misc/tslices.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2014-04-09 22:56:18 +0200
committerAndreas Rumpf <rumpf_a@web.de>2014-04-09 22:56:18 +0200
commita690e7b26772a9bb8367acb451a6250449e666ab (patch)
tree9aca0024db9c75970c4dfac10c55f1961c21ca25 /tests/misc/tslices.nim
parentd0f013477b16520eefff69b861d2f26744463880 (diff)
parenta157985e01cbf80383d5e50836072d70678c9de3 (diff)
downloadNim-a690e7b26772a9bb8367acb451a6250449e666ab.tar.gz
Merge pull request #1075 from flaviut/inlinedocs
Add some documentations and code examples in system
Diffstat (limited to 'tests/misc/tslices.nim')
-rw-r--r--tests/misc/tslices.nim59
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/misc/tslices.nim b/tests/misc/tslices.nim
new file mode 100644
index 000000000..0de1171e3
--- /dev/null
+++ b/tests/misc/tslices.nim
@@ -0,0 +1,59 @@
+discard """
+  file: "tslices.nim"
+  output: '''456456
+456456
+456456
+Zugr5nd
+egerichtetd
+verichtetd
+'''
+"""
+
+# Test the new slices.
+
+import strutils
+
+var mystr = "Abgrund"
+mystr[..1] = "Zu"
+
+mystr[4..4] = "5"
+
+type
+  TEnum = enum e1, e2, e3, e4, e5, e6
+
+var myarr: array[TEnum, int] = [1, 2, 3, 4, 5, 6]
+myarr[e1..e3] = myarr[e4..e6]
+myarr[..e3] = myarr[e4..e6]
+
+for x in items(myarr): stdout.write(x)
+echo()
+
+var myarr2: array[0..5, int] = [1, 2, 3, 4, 5, 6]
+myarr2[0..2] = myarr2[3..5]
+
+for x in items(myarr2): stdout.write(x)
+echo()
+
+
+var myseq = @[1, 2, 3, 4, 5, 6]
+myseq[0..2] = myseq[-3.. -1]
+
+for x in items(myseq): stdout.write(x)
+echo()
+
+echo mystr
+
+mystr[4..4] = "u"
+
+# test full replacement
+mystr[.. -2] = "egerichtet"
+
+echo mystr
+
+mystr[0..2] = "ve"
+echo mystr
+
+var s = "abcdef"
+s[1 .. -2] = "xyz"
+assert s == "axyzf"
+