summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2021-02-13 00:33:42 -0800
committerGitHub <noreply@github.com>2021-02-13 09:33:42 +0100
commit21e60b9a9705ac9cfa8b792d6d264bbaa75a76c7 (patch)
treea5b237ba75d1f29ae41fcd19e661f09cb8498b06 /tests
parent190fe36ebacb7cb3fd448ee8c3582ed464afb846 (diff)
downloadNim-21e60b9a9705ac9cfa8b792d6d264bbaa75a76c7.tar.gz
followup #17001: improve coverage for tests/openarray/topenarray.nim (#17006)
* followup #17001: improve coverage for tests/openarray/topenarray.nim
Diffstat (limited to 'tests')
-rw-r--r--tests/openarray/topenarray.nim20
1 files changed, 17 insertions, 3 deletions
diff --git a/tests/openarray/topenarray.nim b/tests/openarray/topenarray.nim
index 0f74e0ea5..0b6e3afc4 100644
--- a/tests/openarray/topenarray.nim
+++ b/tests/openarray/topenarray.nim
@@ -2,12 +2,26 @@ discard """
   targets: "c cpp js"
 """
 
-proc pro[T](a: var openArray[T]) = discard
+proc fn1[T](a: openArray[T]): seq[T] =
+  for ai in a: result.add ai
+
+proc fn2[T](a: var openArray[T]): seq[T] =
+  for ai in a: result.add ai
+
+proc fn3[T](a: var openArray[T]) =
+  for i, ai in mpairs(a): ai = i * 10
 
 proc main =
   var a = [1,2,3,4,5]
 
-  pro(toOpenArray(a, 1, 3))
-  pro(a.toOpenArray(1,3))
+  doAssert fn1(a.toOpenArray(1,3)) == @[2,3,4]
+
+  doAssert fn2(toOpenArray(a, 1, 3)) == @[2,3,4]
+  doAssert fn2(a.toOpenArray(1,3)) == @[2,3,4]
+
+  fn3(a.toOpenArray(1,3))
+  when defined(js): discard # xxx bug #15952: `a` left unchanged
+  else: doAssert a == [1, 0, 10, 20, 5]
 
 main()
+# static: main() # xxx bug #15952: Error: cannot generate code for: mSlice