diff tests/farray-array.t @ 767:54fefbabcf78

farray.sh: Implement "farray_pop()"
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 21 Oct 2024 16:26:49 +0200
parents 711c0a11d642
children 03350d2a2af6
line wrap: on
line diff
--- a/tests/farray-array.t	Mon Oct 21 16:26:23 2024 +0200
+++ b/tests/farray-array.t	Mon Oct 21 16:26:49 2024 +0200
@@ -420,6 +420,48 @@
   $ farray_release TEST
   $ check_no_array_artifacts
 
+
+Pop
+===
+
+  $ farray_create TEST 0 1 2 '3  4   5' $'" 678" \\\'910 ' 11
+
+  $ farray_pop _var TEST 1
+  $ echo "$_var"
+  0
+
+  $ farray_pop _var TEST 0
+  $ echo "$_var"
+  11
+  $ farray_pop _var TEST 0
+  $ printf '<%s>' "$_var"
+  <" 678" \'910 > (no-eol)
+
+  $ farray_pop _var TEST ""
+  [1]
+
+  $ farray_pop _var TEST 100
+  [1]
+
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+Special case with one element
+
+  $ farray_create TEST 'val'
+  $ farray_pop _var TEST 0
+  $ echo "$_var"
+  val
+
+Special case empty array: popping from an empty list is not possible
+
+  $ farray_pop _var TEST 0
+  [1]
+
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+
 Splicing
 ========