diff tests/farray-array.t @ 599:46ff12cfeed0

farray.sh: farray_find(): Fixes in "start" and "end" param evaluation. Now also works with somewhat generalized indices.
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 18 Sep 2024 21:20:13 +0200
parents 1b40b875b281
children 77abb0adccaf
line wrap: on
line diff
--- a/tests/farray-array.t	Wed Sep 18 17:10:43 2024 +0200
+++ b/tests/farray-array.t	Wed Sep 18 21:20:13 2024 +0200
@@ -851,3 +851,56 @@
   $ farray_destroy INSERTED
   $ farray_destroy TEST
   $ check_no_array_artifacts
+
+
+Searching
+=========
+
+  $ farray_create TEST 0 1 2 '3  4   5' $'" 678" \\\'910 ' 11
+
+  $ farray_find _var TEST 0
+  $ echo $_var
+  1
+  $ farray_find _var TEST $'" 678" \\\'910 '
+  $ echo $_var
+  5
+  $ farray_find _var TEST '11'
+  $ echo $_var
+  6
+  $ farray_find _var TEST $'" 678" \\\'910 ' "" ""
+  $ echo $_var
+  5
+  $ farray_find _var TEST '11' 1 5
+  [1]
+
+  $ farray_find _var TEST '11' 7
+  [1]
+
+  $ farray_find _var TEST '11' 7 6
+  [1]
+
+  $ farray_find _var TEST '11' 1 ""
+  $ echo $_var
+  6
+
+  $ ( farray_find _var TEST '11' 1 7 )
+  ERROR: end index exceeds array length
+  [70]
+
+  $ ( farray_find _var TEST '11' -6 )
+  ERROR: start index must be >= 1
+  [70]
+
+  $ ( farray_find _var TEST '11' 1 -6 )
+  ERROR: end index must be >= 1
+  [70]
+
+  $ farray_contains TEST '0'
+  $ farray_contains TEST $'" 678" \\\'910 '
+  $ farray_contains TEST '11'
+
+  $ farray_contains TEST '0 '
+  [1]
+
+  $ farray_destroy TEST
+  $ check_no_array_artifacts