summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorPeter Mora <morapeter@gmail.com>2015-10-05 22:41:54 +0200
committerPeter Mora <morapeter@gmail.com>2015-10-05 22:42:22 +0200
commit75097e2981e470197fa5649557875a9f60385973 (patch)
tree07f91724132a978ad267f8e9a920fa8d14ee255d /tests
parent0a8a2070d01489d036ececa78c87ef94325d3e9d (diff)
downloadNim-75097e2981e470197fa5649557875a9f60385973.tar.gz
sequtils related changes
Diffstat (limited to 'tests')
-rw-r--r--tests/closure/tclosure4.nim2
-rw-r--r--tests/collections/tapply.nim7
-rw-r--r--tests/collections/tmapit.nim28
-rw-r--r--tests/generics/tinferredgenericprocs.nim1
-rw-r--r--tests/generics/tmap_auto.nim2
-rw-r--r--tests/overload/toverprc.nim2
-rw-r--r--tests/parser/tcommand_as_expr.nim1
-rw-r--r--tests/template/twrongmapit.nim2
8 files changed, 41 insertions, 4 deletions
diff --git a/tests/closure/tclosure4.nim b/tests/closure/tclosure4.nim
index 8e08376b6..10c7cac54 100644
--- a/tests/closure/tclosure4.nim
+++ b/tests/closure/tclosure4.nim
@@ -1,5 +1,5 @@
 
-import json, tables
+import json, tables, sequtils
 
 proc run(json_params: TTable) =
   let json_elems = json_params["files"].elems
diff --git a/tests/collections/tapply.nim b/tests/collections/tapply.nim
new file mode 100644
index 000000000..403321ce1
--- /dev/null
+++ b/tests/collections/tapply.nim
@@ -0,0 +1,7 @@
+import sequtils
+
+var x = @[1, 2, 3]
+x.apply(proc(x: var int) = x = x+10)
+x.apply(proc(x: int): int = x+100)
+x.applyIt(it+5000)
+doAssert x == @[5111, 5112, 5113]
diff --git a/tests/collections/tmapit.nim b/tests/collections/tmapit.nim
new file mode 100644
index 000000000..067561882
--- /dev/null
+++ b/tests/collections/tmapit.nim
@@ -0,0 +1,28 @@
+import sequtils
+
+var x = @[1, 2, 3]
+# This mapIt call will run with preallocation because ``len`` is available.
+var y = x.mapIt($(it+10))
+doAssert y == @["11", "12", "13"]
+
+type structureWithoutLen = object
+  a: array[5, int]
+
+iterator items(s: structureWithoutLen): int {.inline.} =
+  yield s.a[0]
+  yield s.a[1]
+  yield s.a[2]
+  yield s.a[3]
+  yield s.a[4]
+
+var st: structureWithoutLen
+st.a[0] = 0
+st.a[1] = 1
+st.a[2] = 2
+st.a[3] = 3
+st.a[4] = 4
+
+# this will run without preallocating the result
+# since ``len`` is not available
+var r = st.mapIt($(it+10))
+doAssert r == @["10", "11", "12", "13", "14"]
diff --git a/tests/generics/tinferredgenericprocs.nim b/tests/generics/tinferredgenericprocs.nim
index 5cbeabb94..359c71ba8 100644
--- a/tests/generics/tinferredgenericprocs.nim
+++ b/tests/generics/tinferredgenericprocs.nim
@@ -5,6 +5,7 @@ discard """
 3'''
 """
 
+import sequtils
 # https://github.com/Araq/Nim/issues/797
 proc foo[T](s:T):string = $s
 
diff --git a/tests/generics/tmap_auto.nim b/tests/generics/tmap_auto.nim
index dea9b571f..572556722 100644
--- a/tests/generics/tmap_auto.nim
+++ b/tests/generics/tmap_auto.nim
@@ -1,4 +1,4 @@
-import future
+import future, sequtils
 
 let x = map(@[1, 2, 3], x => x+10)
 assert x == @[11, 12, 13]
diff --git a/tests/overload/toverprc.nim b/tests/overload/toverprc.nim
index 78831f744..112eae096 100644
--- a/tests/overload/toverprc.nim
+++ b/tests/overload/toverprc.nim
@@ -5,7 +5,7 @@ yay'''
 
 # Test overloading of procs when used as function pointers
 
-import strutils
+import strutils, sequtils
 
 proc parseInt(x: float): int {.noSideEffect.} = discard
 proc parseInt(x: bool): int {.noSideEffect.} = discard
diff --git a/tests/parser/tcommand_as_expr.nim b/tests/parser/tcommand_as_expr.nim
index 730e9cbb7..a244c8767 100644
--- a/tests/parser/tcommand_as_expr.nim
+++ b/tests/parser/tcommand_as_expr.nim
@@ -5,6 +5,7 @@ discard """
 77'''
 """
 #import math
+import sequtils
 
 proc optarg(x:int, y:int = 0):int = x + 3 * y
 proc singlearg(x:int):int = 20*x
diff --git a/tests/template/twrongmapit.nim b/tests/template/twrongmapit.nim
index 0a6d694f6..df695fcd6 100644
--- a/tests/template/twrongmapit.nim
+++ b/tests/template/twrongmapit.nim
@@ -27,6 +27,6 @@ when ATTEMPT == 0:
 # bug #1543
 import sequtils
 
-(var i = @[""];i).mapIt(it)
+(var i = @[""];i).applyIt(it)
 # now works:
 echo "##", i[0], "##"