diff options
author | Peter Mora <morapeter@gmail.com> | 2015-10-05 22:41:54 +0200 |
---|---|---|
committer | Peter Mora <morapeter@gmail.com> | 2015-10-05 22:42:22 +0200 |
commit | 75097e2981e470197fa5649557875a9f60385973 (patch) | |
tree | 07f91724132a978ad267f8e9a920fa8d14ee255d /tests | |
parent | 0a8a2070d01489d036ececa78c87ef94325d3e9d (diff) | |
download | Nim-75097e2981e470197fa5649557875a9f60385973.tar.gz |
sequtils related changes
Diffstat (limited to 'tests')
-rw-r--r-- | tests/closure/tclosure4.nim | 2 | ||||
-rw-r--r-- | tests/collections/tapply.nim | 7 | ||||
-rw-r--r-- | tests/collections/tmapit.nim | 28 | ||||
-rw-r--r-- | tests/generics/tinferredgenericprocs.nim | 1 | ||||
-rw-r--r-- | tests/generics/tmap_auto.nim | 2 | ||||
-rw-r--r-- | tests/overload/toverprc.nim | 2 | ||||
-rw-r--r-- | tests/parser/tcommand_as_expr.nim | 1 | ||||
-rw-r--r-- | tests/template/twrongmapit.nim | 2 |
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], "##" |