annotate tests/farray-array.t @ 723:a97ec3f07bdb

farray.sh: REFACTOR: More flexible metadata retrieval. Using an array or alist variable name or token value (with prefix) is now supported in every function. This is possible because the value prefixes contain questin marks (?) which are not allowed in shell variable names. This again is a major precondition for recursive data structures (arrays/alists in arrays/alists).
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 05 Oct 2024 21:55:55 +0200
parents b2757e72b517
children 3adb26525b19
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 Basic tests of farray.sh's farray_XXX functions
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
3 Shell is /bin/sh.
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
4
593
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
5
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
6 Setup
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
7 =====
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
8
587
dab62498e69c Tests: activate the shell's "-u" for all the cram tests
Franz Glasner <fzglas.hg@dom66.de>
parents: 586
diff changeset
9 $ set -u
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
10 $ . "${TESTDIR}/testsetup.sh"
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
11 $ _p_datadir="${TESTDIR}/../share/local-bsdtools"
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
12 $ . "${_p_datadir}/farray.sh"
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
13
584
7bf729bec285 Tests: structure using headlines
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
14
7bf729bec285 Tests: structure using headlines
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
15 Basic Creation and Destruction
7bf729bec285 Tests: structure using headlines
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
16 ==============================
7bf729bec285 Tests: structure using headlines
Franz Glasner <fzglas.hg@dom66.de>
parents: 583
diff changeset
17
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18 Create an empty array
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 $ farray_create EMPTY
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21 $ farray_print_length EMPTY
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
22 0 (no-eol)
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
23 $ farray_length _var EMPTY
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
24 $ test ${_var} -eq 0
651
57ee25cec0dd farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents: 635
diff changeset
25 $ farray_istrue EMPTY
57ee25cec0dd farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents: 635
diff changeset
26 [1]
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27 $ farray_debug EMPTY
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
28 DEBUG: array `EMPTY' has length 0
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29 $ farray_destroy EMPTY
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
30 $ check_no_array_artifacts
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
31
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
32 Create and destroy an array
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
33
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
34 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'90 '
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
35 $ farray_print_length TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
36 5 (no-eol)
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
37 $ farray_length _var TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
38 $ test ${_var} -eq 5
651
57ee25cec0dd farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents: 635
diff changeset
39 $ farray_istrue TEST
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
40 $ farray_debug TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
41 DEBUG: array `TEST' has length 5
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
42 DEBUG: its contents:
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
43 DEBUG: 1: `0'
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
44 DEBUG: 2: `1'
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
45 DEBUG: 3: `2'
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
46 DEBUG: 4: `3 4 5'
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
47 DEBUG: 5: `" 678" \'90 '
723
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
48 # $ farray_debug "$TEST"
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
49 # DEBUG: array with token `[a-f0-9]+' has length 5 (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
50 # DEBUG: its contents:
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
51 # DEBUG: 1: `0'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
52 # DEBUG: 2: `1'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
53 # DEBUG: 3: `2'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
54 # DEBUG: 4: `3 4 5'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
55 # DEBUG: 5: `" 678" \'90 '
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
56 $ farray_destroy TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
57 $ check_no_array_artifacts
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
58
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
59 Create, clear and destroy an array
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
60
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
61 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'90 '
651
57ee25cec0dd farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents: 635
diff changeset
62 $ farray_istrue TEST
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
63 $ farray_print_length TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
64 5 (no-eol)
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
65 $ farray_length _var TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
66 $ test ${_var} -eq 5
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
67 $ farray_debug TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
68 DEBUG: array `TEST' has length 5
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
69 DEBUG: its contents:
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
70 DEBUG: 1: `0'
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
71 DEBUG: 2: `1'
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
72 DEBUG: 3: `2'
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
73 DEBUG: 4: `3 4 5'
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
74 DEBUG: 5: `" 678" \'90 '
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
75 $ farray_clear TEST
651
57ee25cec0dd farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents: 635
diff changeset
76 $ farray_istrue TEST
57ee25cec0dd farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents: 635
diff changeset
77 [1]
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
78 $ farray_print_length TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
79 0 (no-eol)
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
80 $ farray_length _var TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
81 $ test ${_var} -eq 0
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
82 $ farray_destroy TEST
651
57ee25cec0dd farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents: 635
diff changeset
83 $ farray_istrue TEST
716
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
84 ERROR: object `TEST' not created properly: token empty
651
57ee25cec0dd farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents: 635
diff changeset
85 [1]
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
86 $ check_no_array_artifacts
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
87
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
88 Duplicate destruction
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
89
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
90 $ farray_create TEST 1 2 3
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
91 $ farray_destroy TEST
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
92 $ farray_destroy TEST
716
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
93 ERROR: object `TEST' not created properly: token empty
583
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
94 [1]
55c024c809ca Begin unittests for farray.sh using "cram"
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
95 $ check_no_array_artifacts
585
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
96
593
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
97
585
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
98 Equality
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
99 ========
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
100
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
101 Equality (empty)
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
102
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
103 $ farray_create TEST1
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
104 $ farray_create TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
105 $ farray_are_equal TEST1 TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
106 $ farray_destroy TEST1
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
107 $ farray_destroy TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
108 $ check_no_array_artifacts
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
109
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
110 Equality (non-empty)
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
111
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
112 $ farray_create TEST1 0 1 2 '3 4 5' $'" 678" \\\'90 '
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
113 $ farray_create TEST2 0 1 2 '3 4 5' $'" 678" \\\'90 '
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
114 $ farray_are_equal TEST1 TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
115 $ farray_destroy TEST1
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
116 $ farray_destroy TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
117 $ check_no_array_artifacts
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
118
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
119 In-Equality (non-empty, same length)
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
120
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
121 $ farray_create TEST1 0 1 2 '3 4 5' $'" 678" \\\'90 '
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
122 $ farray_create TEST2 0 1 2 '3 4 5' $'" 678" \\\'90'
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
123 $ farray_are_equal TEST1 TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
124 [1]
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
125 $ farray_destroy TEST1
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
126 $ farray_destroy TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
127 $ check_no_array_artifacts
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
128
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
129 In-Equality (non-empty, different length)
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
130
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
131 $ farray_create TEST1 0 1 2 '3 4 5' $'" 678" \\\'90 '
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
132 $ farray_create TEST2 1 2 '3 4 5' $'" 678" \\\'90 '
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
133 $ farray_are_equal TEST1 TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
134 [1]
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
135 $ farray_destroy TEST1
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
136 $ farray_destroy TEST2
33427145b453 farray.sh: Implement an equality test in "farray_are_equal()"
Franz Glasner <fzglas.hg@dom66.de>
parents: 584
diff changeset
137 $ check_no_array_artifacts
586
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
138
593
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
139
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
140 Get
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
141 ===
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
142
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
143 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
144
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
145 $ farray_get _var TEST 1
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
146 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
147 0
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
148 $ farray_tryget _var TEST 1
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
149 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
150 0
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
151 $ farray_get _var TEST -5
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
152 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
153 0
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
154 $ farray_tryget _var TEST -5
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
155 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
156 0
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
157 $ farray_get _var TEST 6
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
158 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
159 11
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
160 $ farray_tryget _var TEST 6
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
161 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
162 11
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
163 $ farray_get _var TEST 0
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
164 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
165 11
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
166 $ farray_tryget _var TEST 0
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
167 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
168 11
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
169 $ farray_get _var TEST 5
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
170 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
171 " 678" \'910
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
172 $ farray_tryget _var TEST 5
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
173 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
174 " 678" \'910
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
175 $ farray_get _var TEST -1
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
176 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
177 " 678" \'910
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
178 $ farray_tryget _var TEST -1
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
179 $ echo $_var
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
180 " 678" \'910
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
181
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
182 $ farray_tryget _var TEST -6
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
183 [1]
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
184 $ ( farray_get _var TEST -6 )
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
185 ERROR: array index out of bounds
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
186 [70]
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
187 $ farray_tryget _var TEST 7
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
188 [1]
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
189 $ ( farray_get _var TEST 7 )
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
190 ERROR: array index out of bounds
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
191 [70]
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
192
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
193 $ farray_destroy TEST
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
194 $ check_no_array_artifacts
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
195
f29f53749a1c farray.sh: farray_get() and farray_tryget() now uses the _farr_make_index() function.
Franz Glasner <fzglas.hg@dom66.de>
parents: 587
diff changeset
196
594
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
197 Deleting
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
198 ========
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
199
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
200 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
201 $ farray_del TEST 1
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
202 $ farray_debug TEST
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
203 DEBUG: array `TEST' has length 5
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
204 DEBUG: its contents:
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
205 DEBUG: 1: `1'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
206 DEBUG: 2: `2'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
207 DEBUG: 3: `3 4 5'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
208 DEBUG: 4: `" 678" \'910 '
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
209 DEBUG: 5: `11'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
210 $ farray_destroy TEST
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
211 $ check_no_array_artifacts
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
212
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
213 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
214 $ farray_del TEST 0
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
215 $ farray_debug TEST
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
216 DEBUG: array `TEST' has length 5
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
217 DEBUG: its contents:
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
218 DEBUG: 1: `0'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
219 DEBUG: 2: `1'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
220 DEBUG: 3: `2'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
221 DEBUG: 4: `3 4 5'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
222 DEBUG: 5: `" 678" \'910 '
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
223 $ farray_destroy TEST
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
224 $ check_no_array_artifacts
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
225
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
226 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
227 $ farray_del TEST 4
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
228 $ farray_debug TEST
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
229 DEBUG: array `TEST' has length 5
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
230 DEBUG: its contents:
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
231 DEBUG: 1: `0'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
232 DEBUG: 2: `1'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
233 DEBUG: 3: `2'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
234 DEBUG: 4: `" 678" \'910 '
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
235 DEBUG: 5: `11'
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
236 $ farray_destroy TEST
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
237 $ check_no_array_artifacts
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
238
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
239 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
240 $ ( farray_del TEST "" )
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
241 ERROR: array index out of bounds
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
242 [70]
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
243
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
244 $ farray_destroy TEST
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
245 $ check_no_array_artifacts
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
246
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
247 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
248 $ ( farray_del TEST 7 )
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
249 ERROR: array index out of bounds
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
250 [70]
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
251
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
252 $ farray_destroy TEST
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
253 $ check_no_array_artifacts
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
254
4babcf9abc1a farray.sh: farray_del() now accepts general index value
Franz Glasner <fzglas.hg@dom66.de>
parents: 593
diff changeset
255
596
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
256 Setting
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
257 =======
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
258
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
259 Append (relative)
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
260
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
261 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
262 $ farray_set TEST "" $'the new value \\ \''
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
263 $ farray_debug TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
264 DEBUG: array `TEST' has length 7
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
265 DEBUG: its contents:
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
266 DEBUG: 1: `0'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
267 DEBUG: 2: `1'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
268 DEBUG: 3: `2'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
269 DEBUG: 4: `3 4 5'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
270 DEBUG: 5: `" 678" \'910 '
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
271 DEBUG: 6: `11'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
272 DEBUG: 7: `the new value \ ''
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
273 $ farray_destroy TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
274 $ check_no_array_artifacts
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
275
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
276 Append (explicit)
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
277
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
278 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
279 $ farray_set TEST 7 $'the new value \\ \''
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
280 $ farray_debug TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
281 DEBUG: array `TEST' has length 7
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
282 DEBUG: its contents:
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
283 DEBUG: 1: `0'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
284 DEBUG: 2: `1'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
285 DEBUG: 3: `2'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
286 DEBUG: 4: `3 4 5'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
287 DEBUG: 5: `" 678" \'910 '
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
288 DEBUG: 6: `11'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
289 DEBUG: 7: `the new value \ ''
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
290 $ farray_destroy TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
291 $ check_no_array_artifacts
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
292
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
293 Replace the last element
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
294
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
295 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
296 $ farray_set TEST 0 $'the new replaced value \\ \''
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
297 $ farray_debug TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
298 DEBUG: array `TEST' has length 6
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
299 DEBUG: its contents:
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
300 DEBUG: 1: `0'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
301 DEBUG: 2: `1'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
302 DEBUG: 3: `2'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
303 DEBUG: 4: `3 4 5'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
304 DEBUG: 5: `" 678" \'910 '
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
305 DEBUG: 6: `the new replaced value \ ''
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
306 $ farray_destroy TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
307 $ check_no_array_artifacts
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
308
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
309 Replace the first element
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
310
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
311 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
312 $ farray_set TEST 1 $'the new replaced value \\ \''
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
313 $ farray_debug TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
314 DEBUG: array `TEST' has length 6
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
315 DEBUG: its contents:
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
316 DEBUG: 1: `the new replaced value \ ''
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
317 DEBUG: 2: `1'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
318 DEBUG: 3: `2'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
319 DEBUG: 4: `3 4 5'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
320 DEBUG: 5: `" 678" \'910 '
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
321 DEBUG: 6: `11'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
322 $ farray_destroy TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
323 $ check_no_array_artifacts
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
324
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
325 Replace some element in the middle
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
326
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
327 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
328 $ farray_set TEST 5 $'the new replaced value \\ \' 2 '
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
329 $ farray_debug TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
330 DEBUG: array `TEST' has length 6
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
331 DEBUG: its contents:
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
332 DEBUG: 1: `0'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
333 DEBUG: 2: `1'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
334 DEBUG: 3: `2'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
335 DEBUG: 4: `3 4 5'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
336 DEBUG: 5: `the new replaced value \ ' 2 '
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
337 DEBUG: 6: `11'
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
338 $ farray_destroy TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
339 $ check_no_array_artifacts
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
340
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
341 Out of bounds
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
342
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
343 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
344 $ ( farray_set TEST 8 )
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
345 ERROR: array index out of bounds (cannot create holes)
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
346 [70]
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
347 $ farray_destroy TEST
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
348 $ check_no_array_artifacts
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
349
1b40b875b281 farray.sh: farray_set() now accepts general indices
Franz Glasner <fzglas.hg@dom66.de>
parents: 594
diff changeset
350
586
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
351 Splicing
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
352 ========
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
353
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
354 Replace complete array
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
355
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
356 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
357 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
358 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
359 $ farray_splice DELETED TEST 1 "" INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
360 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
361 DEBUG: array `DELETED' has length 9
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
362 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
363 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
364 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
365 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
366 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
367 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
368 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
369 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
370 DEBUG: 8: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
371 DEBUG: 9: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
372 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
373 DEBUG: array `TEST' has length 3
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
374 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
375 DEBUG: 1: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
376 DEBUG: 2: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
377 DEBUG: 3: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
378 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
379 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
380 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
381 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
382
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
383 Insert at the beginning (prepend)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
384
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
385 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
386 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
387 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
388 $ farray_splice DELETED TEST 1 0 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
389 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
390 DEBUG: array `DELETED' has length 0
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
391 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
392 DEBUG: array `TEST' has length 12
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
393 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
394 DEBUG: 1: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
395 DEBUG: 2: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
396 DEBUG: 3: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
397 DEBUG: 4: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
398 DEBUG: 5: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
399 DEBUG: 6: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
400 DEBUG: 7: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
401 DEBUG: 8: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
402 DEBUG: 9: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
403 DEBUG: 10: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
404 DEBUG: 11: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
405 DEBUG: 12: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
406 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
407 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
408 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
409 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
410
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
411 Insert at the end (extend)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
412
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
413 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
414 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
415 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
416 $ farray_splice DELETED TEST "" 0 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
417 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
418 DEBUG: array `DELETED' has length 0
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
419 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
420 DEBUG: array `TEST' has length 12
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
421 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
422 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
423 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
424 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
425 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
426 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
427 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
428 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
429 DEBUG: 8: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
430 DEBUG: 9: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
431 DEBUG: 10: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
432 DEBUG: 11: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
433 DEBUG: 12: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
434 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
435 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
436 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
437 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
438
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
439 Insert in the middle
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
440
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
441 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
442 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
443 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
444 $ farray_splice DELETED TEST 4 0 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
445 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
446 DEBUG: array `DELETED' has length 0
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
447 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
448 DEBUG: array `TEST' has length 12
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
449 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
450 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
451 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
452 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
453 DEBUG: 4: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
454 DEBUG: 5: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
455 DEBUG: 6: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
456 DEBUG: 7: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
457 DEBUG: 8: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
458 DEBUG: 9: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
459 DEBUG: 10: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
460 DEBUG: 11: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
461 DEBUG: 12: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
462 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
463 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
464 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
465 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
466
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
467 "Clear" (empty inserted)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
468
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
469 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
470 $ farray_create INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
471 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
472 $ farray_splice DELETED TEST 1 "" INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
473 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
474 DEBUG: array `DELETED' has length 9
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
475 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
476 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
477 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
478 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
479 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
480 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
481 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
482 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
483 DEBUG: 8: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
484 DEBUG: 9: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
485 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
486 DEBUG: array `TEST' has length 0
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
487 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
488 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
489 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
490 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
491
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
492 "Clear" (no inserted)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
493
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
494 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
495 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
496 $ farray_splice DELETED TEST 1 ""
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
497 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
498 DEBUG: array `DELETED' has length 9
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
499 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
500 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
501 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
502 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
503 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
504 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
505 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
506 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
507 DEBUG: 8: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
508 DEBUG: 9: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
509 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
510 DEBUG: array `TEST' has length 0
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
511 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
512 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
513 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
514
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
515 Cut out some part in the middle
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
516
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
517 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
518 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
519 $ farray_splice DELETED TEST 2 5
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
520 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
521 DEBUG: array `DELETED' has length 5
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
522 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
523 DEBUG: 1: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
524 DEBUG: 2: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
525 DEBUG: 3: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
526 DEBUG: 4: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
527 DEBUG: 5: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
528 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
529 DEBUG: array `TEST' has length 4
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
530 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
531 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
532 DEBUG: 2: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
533 DEBUG: 3: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
534 DEBUG: 4: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
535 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
536 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
537 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
538
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
539 Cut out some part from the beginning
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
540
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
541 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
542 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
543 $ farray_splice DELETED TEST 1 6
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
544 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
545 DEBUG: array `DELETED' has length 6
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
546 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
547 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
548 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
549 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
550 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
551 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
552 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
553 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
554 DEBUG: array `TEST' has length 3
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
555 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
556 DEBUG: 1: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
557 DEBUG: 2: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
558 DEBUG: 3: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
559 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
560 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
561 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
562
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
563 Cut out some part at the end (1)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
564
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
565 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
566 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
567 $ farray_splice DELETED TEST 0 1
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
568 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
569 DEBUG: array `DELETED' has length 1
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
570 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
571 DEBUG: 1: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
572 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
573 DEBUG: array `TEST' has length 8
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
574 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
575 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
576 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
577 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
578 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
579 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
580 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
581 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
582 DEBUG: 8: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
583 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
584 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
585 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
586
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
587 Cut out some part at the end (1)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
588
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
589 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
590 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
591 $ farray_splice DELETED TEST -1 ""
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
592 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
593 DEBUG: array `DELETED' has length 2
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
594 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
595 DEBUG: 1: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
596 DEBUG: 2: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
597 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
598 DEBUG: array `TEST' has length 7
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
599 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
600 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
601 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
602 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
603 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
604 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
605 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
606 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
607 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
608 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
609 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
610
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
611 Splice at the beginning (shrink)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
612
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
613 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
614 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
615 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
616 $ farray_splice DELETED TEST 1 4 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
617 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
618 DEBUG: array `DELETED' has length 4
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
619 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
620 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
621 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
622 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
623 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
624 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
625 DEBUG: array `TEST' has length 8
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
626 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
627 DEBUG: 1: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
628 DEBUG: 2: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
629 DEBUG: 3: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
630 DEBUG: 4: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
631 DEBUG: 5: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
632 DEBUG: 6: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
633 DEBUG: 7: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
634 DEBUG: 8: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
635 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
636 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
637 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
638 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
639
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
640 Splice at the end (shrink)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
641
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
642 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
643 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
644 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
645 $ farray_splice DELETED TEST -3 4 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
646 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
647 DEBUG: array `DELETED' has length 4
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
648 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
649 DEBUG: 1: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
650 DEBUG: 2: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
651 DEBUG: 3: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
652 DEBUG: 4: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
653 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
654 DEBUG: array `TEST' has length 8
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
655 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
656 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
657 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
658 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
659 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
660 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
661 DEBUG: 6: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
662 DEBUG: 7: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
663 DEBUG: 8: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
664 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
665 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
666 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
667 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
668
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
669 Splice in the middle (shrink)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
670
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
671 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
672 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
673 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
674 $ farray_splice DELETED TEST 3 4 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
675 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
676 DEBUG: array `DELETED' has length 4
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
677 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
678 DEBUG: 1: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
679 DEBUG: 2: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
680 DEBUG: 3: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
681 DEBUG: 4: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
682 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
683 DEBUG: array `TEST' has length 8
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
684 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
685 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
686 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
687 DEBUG: 3: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
688 DEBUG: 4: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
689 DEBUG: 5: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
690 DEBUG: 6: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
691 DEBUG: 7: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
692 DEBUG: 8: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
693 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
694 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
695 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
696 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
697
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
698 Splice at the beginning (grow)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
699
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
700 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
701 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
702 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
703 $ farray_splice DELETED TEST 1 2 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
704 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
705 DEBUG: array `DELETED' has length 2
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
706 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
707 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
708 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
709 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
710 DEBUG: array `TEST' has length 10
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
711 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
712 DEBUG: 1: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
713 DEBUG: 2: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
714 DEBUG: 3: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
715 DEBUG: 4: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
716 DEBUG: 5: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
717 DEBUG: 6: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
718 DEBUG: 7: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
719 DEBUG: 8: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
720 DEBUG: 9: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
721 DEBUG: 10: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
722 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
723 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
724 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
725 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
726
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
727 Splice at the end (grow)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
728
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
729 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
730 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
731 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
732 $ farray_splice DELETED TEST -1 2 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
733 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
734 DEBUG: array `DELETED' has length 2
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
735 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
736 DEBUG: 1: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
737 DEBUG: 2: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
738 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
739 DEBUG: array `TEST' has length 10
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
740 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
741 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
742 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
743 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
744 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
745 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
746 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
747 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
748 DEBUG: 8: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
749 DEBUG: 9: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
750 DEBUG: 10: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
751 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
752 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
753 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
754 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
755
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
756 Splice in the middle (grow)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
757
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
758 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
759 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
760 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
761 $ farray_splice DELETED TEST 3 2 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
762 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
763 DEBUG: array `DELETED' has length 2
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
764 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
765 DEBUG: 1: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
766 DEBUG: 2: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
767 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
768 DEBUG: array `TEST' has length 10
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
769 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
770 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
771 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
772 DEBUG: 3: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
773 DEBUG: 4: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
774 DEBUG: 5: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
775 DEBUG: 6: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
776 DEBUG: 7: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
777 DEBUG: 8: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
778 DEBUG: 9: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
779 DEBUG: 10: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
780 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
781 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
782 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
783 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
784
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
785 Splice at the beginning (no length change)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
786
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
787 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
788 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
789 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
790 $ farray_splice DELETED TEST 1 3 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
791 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
792 DEBUG: array `DELETED' has length 3
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
793 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
794 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
795 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
796 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
797 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
798 DEBUG: array `TEST' has length 9
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
799 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
800 DEBUG: 1: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
801 DEBUG: 2: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
802 DEBUG: 3: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
803 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
804 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
805 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
806 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
807 DEBUG: 8: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
808 DEBUG: 9: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
809 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
810 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
811 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
812 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
813
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
814 Splice at the end (no length change)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
815
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
816 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
817 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
818 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
819 $ farray_splice DELETED TEST -2 3 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
820 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
821 DEBUG: array `DELETED' has length 3
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
822 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
823 DEBUG: 1: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
824 DEBUG: 2: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
825 DEBUG: 3: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
826 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
827 DEBUG: array `TEST' has length 9
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
828 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
829 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
830 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
831 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
832 DEBUG: 4: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
833 DEBUG: 5: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
834 DEBUG: 6: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
835 DEBUG: 7: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
836 DEBUG: 8: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
837 DEBUG: 9: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
838 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
839 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
840 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
841 $ check_no_array_artifacts
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
842
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
843 Splice in the middle (no length change)
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
844
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
845 $ farray_create DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
846 $ farray_create INSERTED ' I 1 ' ' I 2 ' ' I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
847 $ farray_create TEST ' v 1 ' ' v 2 ' ' v 3 ' ' v 4 ' ' v 5 ' ' v 6 ' ' v 7 ' ' v 8 ' ' v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
848 $ farray_splice DELETED TEST 4 3 INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
849 $ farray_debug DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
850 DEBUG: array `DELETED' has length 3
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
851 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
852 DEBUG: 1: ` v 4 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
853 DEBUG: 2: ` v 5 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
854 DEBUG: 3: ` v 6 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
855 $ farray_debug TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
856 DEBUG: array `TEST' has length 9
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
857 DEBUG: its contents:
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
858 DEBUG: 1: ` v 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
859 DEBUG: 2: ` v 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
860 DEBUG: 3: ` v 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
861 DEBUG: 4: ` I 1 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
862 DEBUG: 5: ` I 2 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
863 DEBUG: 6: ` I 3 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
864 DEBUG: 7: ` v 7 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
865 DEBUG: 8: ` v 8 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
866 DEBUG: 9: ` v 9 '
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
867 $ farray_destroy DELETED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
868 $ farray_destroy INSERTED
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
869 $ farray_destroy TEST
f536f6ac44bf Tests: Thorough unittests for farray_splice()
Franz Glasner <fzglas.hg@dom66.de>
parents: 585
diff changeset
870 $ check_no_array_artifacts
599
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
871
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
872
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
873 Searching
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
874 =========
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
875
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
876 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
877
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
878 $ farray_find _var TEST 0
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
879 $ echo $_var
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
880 1
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
881 $ farray_find _var TEST $'" 678" \\\'910 '
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
882 $ echo $_var
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
883 5
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
884 $ farray_find _var TEST '11'
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
885 $ echo $_var
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
886 6
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
887 $ farray_find _var TEST $'" 678" \\\'910 ' "" ""
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
888 $ echo $_var
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
889 5
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
890 $ farray_find _var TEST '11' 1 5
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
891 [1]
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
892
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
893 $ farray_find _var TEST '11' 7
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
894 [1]
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
895
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
896 $ farray_find _var TEST '11' 7 6
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
897 [1]
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
898
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
899 $ farray_find _var TEST '11' 1 ""
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
900 $ echo $_var
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
901 6
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
902
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
903 $ ( farray_find _var TEST '11' 1 7 )
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
904 ERROR: end index exceeds array length
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
905 [70]
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
906
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
907 $ ( farray_find _var TEST '11' -6 )
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
908 ERROR: start index must be >= 1
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
909 [70]
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
910
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
911 $ ( farray_find _var TEST '11' 1 -6 )
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
912 ERROR: end index must be >= 1
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
913 [70]
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
914
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
915 $ farray_contains TEST '0'
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
916 $ farray_contains TEST $'" 678" \\\'910 '
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
917 $ farray_contains TEST '11'
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
918
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
919 $ farray_contains TEST '0 '
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
920 [1]
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
921
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
922 $ farray_destroy TEST
46ff12cfeed0 farray.sh: farray_find(): Fixes in "start" and "end" param evaluation.
Franz Glasner <fzglas.hg@dom66.de>
parents: 596
diff changeset
923 $ check_no_array_artifacts
600
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
924
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
925
723
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
926 Iterating
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
927 =========
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
928
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
929 $ farray_create TEST 0 1 2 '3 4 5' $'" 667788" \\\'910 ' 11
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
930
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
931 MANUAL (by name)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
932
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
933 $ _v=''
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
934 > _i=1
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
935 > while farray_tryget _v TEST ${_i}; do
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
936 > printf " IDX: \`%d', VAL: \`%s'\\n" "${_i}" "${_v}"
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
937 > _i=$((_i + 1))
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
938 > done
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
939 IDX: `1', VAL: `0'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
940 IDX: `2', VAL: `1'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
941 IDX: `3', VAL: `2'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
942 IDX: `4', VAL: `3 4 5'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
943 IDX: `5', VAL: `" 667788" \'910 '
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
944 IDX: `6', VAL: `11'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
945
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
946 MANUAL (by value, reversed, using negative indexes)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
947
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
948 $ _v=''
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
949 > _i=0
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
950 > while farray_tryget _v "$TEST" ${_i}; do
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
951 > printf " IDX: \`%d', VAL: \`%s'\\n" "${_i}" "${_v}"
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
952 > _i=$((_i - 1))
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
953 > done
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
954 IDX: `0', VAL: `11'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
955 IDX: `-1', VAL: `" 667788" \'910 '
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
956 IDX: `-2', VAL: `3 4 5'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
957 IDX: `-3', VAL: `2'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
958 IDX: `-4', VAL: `1'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
959 IDX: `-5', VAL: `0'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
960
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
961 ITERATE (for each, by name)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
962
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
963 $ farray_for_each TEST $'printf "EACH: %s at idx %d: value is \\`%s\\\'\\n"'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
964 EACH: TEST at idx 1: value is `0'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
965 EACH: TEST at idx 2: value is `1'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
966 EACH: TEST at idx 3: value is `2'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
967 EACH: TEST at idx 4: value is `3 4 5'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
968 EACH: TEST at idx 5: value is `" 667788" \'910 '
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
969 EACH: TEST at idx 6: value is `11'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
970
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
971 ITERATE (for each, by value)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
972
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
973 $ farray_for_each "$TEST" $'printf "EACH: %s at idx %d: value is \\`%s\\\'\\n"'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
974 EACH: _farr_A\?_[a-f0-9]+ at idx 1: value is `0' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
975 EACH: _farr_A\?_[a-f0-9]+ at idx 2: value is `1' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
976 EACH: _farr_A\?_[a-f0-9]+ at idx 3: value is `2' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
977 EACH: _farr_A\?_[a-f0-9]+ at idx 4: value is `3 4 5' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
978 EACH: _farr_A\?_[a-f0-9]+ at idx 5: value is `" 667788" \\'910 ' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
979 EACH: _farr_A\?_[a-f0-9]+ at idx 6: value is `11' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
980
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
981 REVERSE ITERATE (for each, by name)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
982
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
983 $ farray_reversed_for_each TEST $'printf "EACH: %s at idx %d: value is \\`%s\\\'\\n"'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
984 EACH: TEST at idx 6: value is `11'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
985 EACH: TEST at idx 5: value is `" 667788" \'910 '
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
986 EACH: TEST at idx 4: value is `3 4 5'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
987 EACH: TEST at idx 3: value is `2'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
988 EACH: TEST at idx 2: value is `1'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
989 EACH: TEST at idx 1: value is `0'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
990
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
991 ITERATE (for each, by value)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
992
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
993 $ farray_reversed_for_each "$TEST" $'printf "EACH: %s at idx %d: value is \\`%s\\\'\\n"'
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
994 EACH: _farr_A\?_[a-f0-9]+ at idx 6: value is `11' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
995 EACH: _farr_A\?_[a-f0-9]+ at idx 5: value is `" 667788" \\'910 ' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
996 EACH: _farr_A\?_[a-f0-9]+ at idx 4: value is `3 4 5' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
997 EACH: _farr_A\?_[a-f0-9]+ at idx 3: value is `2' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
998 EACH: _farr_A\?_[a-f0-9]+ at idx 2: value is `1' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
999 EACH: _farr_A\?_[a-f0-9]+ at idx 1: value is `0' (re)
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
1000
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
1001 $ farray_destroy TEST
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
1002 $ check_no_array_artifacts
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
1003
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
1004
635
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1005 Eval / Quoting
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1006 ==============
634
618f8e72e5e6 Tests: More tests for quoting for eval
Franz Glasner <fzglas.hg@dom66.de>
parents: 603
diff changeset
1007
635
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1008 # Use Dollar-Single-Quotes
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1009 $ _var1=$'" 678" \\\'910 '
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1010 # Use just Single-Quotes
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1011 $ _var2='" 678" \'\''910 '
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1012 # Use a Double-Quotes to insert a single quote
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1013 $ _var3='" 678" \'"'"'910 '
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1014 $ test "${_var1}" = "${_var2}"
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1015 $ test "${_var1}" = "${_var3}"
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1016 $ eval _evar="\$(_farr_quote_for_eval \"\${_var1}\")"
634
618f8e72e5e6 Tests: More tests for quoting for eval
Franz Glasner <fzglas.hg@dom66.de>
parents: 603
diff changeset
1017 $ eval printf '%s' "${_evar}"
618f8e72e5e6 Tests: More tests for quoting for eval
Franz Glasner <fzglas.hg@dom66.de>
parents: 603
diff changeset
1018 " 678" \'910 (no-eol)
635
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1019 $ _var1=$'" 678" \\\'910\t\''
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1020 $ _var2='" 678" \'\''910 '\'''
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1021 $ _var3='" 678" \'"'"'910 '"'"''
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1022 $ test "${_var1}" = "${_var2}"
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1023 $ test "${_var1}" = "${_var3}"
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1024 $ eval _evar="\$(_farr_quote_for_eval \"\${_var1}\")"
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1025 $ eval printf '%s' "${_evar}"
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1026 " 678" \'910 ' (no-eol)
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1027 $ _var1=$'" 678" \\\'910\t\''
2d0201f54870 farray.sh: Also provide a strict posixly correct quoting alternative.
Franz Glasner <fzglas.hg@dom66.de>
parents: 634
diff changeset
1028 $ eval _evar="\$(_farr_quote_for_eval_strict \"\${_var1}\")"
634
618f8e72e5e6 Tests: More tests for quoting for eval
Franz Glasner <fzglas.hg@dom66.de>
parents: 603
diff changeset
1029 $ eval printf '%s' "${_evar}"
618f8e72e5e6 Tests: More tests for quoting for eval
Franz Glasner <fzglas.hg@dom66.de>
parents: 603
diff changeset
1030 " 678" \'910 ' (no-eol)
618f8e72e5e6 Tests: More tests for quoting for eval
Franz Glasner <fzglas.hg@dom66.de>
parents: 603
diff changeset
1031
618f8e72e5e6 Tests: More tests for quoting for eval
Franz Glasner <fzglas.hg@dom66.de>
parents: 603
diff changeset
1032
600
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1033 Join
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1034 ====
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1035
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1036 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'910 ' 11
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1037
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1038 $ farray_join _var TEST
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1039 $ echo "$_var"
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1040 0 1 2 3 4 5 " 678" \'910 11
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1041
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1042 $ farray_join _var TEST '---'
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1043 $ echo "$_var"
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1044 0---1---2---3 4 5---" 678" \'910 ---11
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1045
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1046 $ farray_join_for_eval _var TEST
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1047 $ echo "$_var"
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1048 '0' '1' '2' '3 4 5' $'" 678" \\\'910 ' '11'
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1049
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1050 $ farray_print_join_for_eval TEST
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1051 '0' '1' '2' '3 4 5' $'" 678" \\\'910 ' '11' (no-eol)
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1052
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1053 $ farray_clear TEST
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1054
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1055 $ farray_join _var TEST
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1056 $ echo "/${_var}/"
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1057 //
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1058
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1059 $ farray_print_join_for_eval TEST
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1060
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1061 $ farray_join_for_eval _var TEST
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1062 $ echo "!${_var}!"
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1063 !!
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1064
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1065 $ farray_join _var TEST '---'
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1066 $ echo "/${_var}/"
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1067 //
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1068 $ farray_destroy TEST
77abb0adccaf farray.sh: Unittests for joining arrays
Franz Glasner <fzglas.hg@dom66.de>
parents: 599
diff changeset
1069 $ check_no_array_artifacts
603
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1070
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1071
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1072 Parameter Checks
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1073 ================
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1074
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1075 $ ( farray_create )
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1076 ERROR: missing farray name
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1077 [70]
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1078
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1079 $ ( farray_append )
723
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
1080 ERROR: missing farray name or token value
603
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1081 [70]
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1082
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1083 $ TEST=''
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1084 $ (farray_append TEST)
716
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1085 ERROR: object `TEST' not created properly: token empty
603
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1086 [70]
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1087
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1088 $ check_no_array_artifacts
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1089
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1090 $ farray_create DUP
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1091 $ (farray_create DUP)
723
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
1092 ERROR: object `DUP' already created \(value `_farr_A\?_[a-f0-9]+'\) (re)
603
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1093 [70]
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1094
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1095 $ check_no_array_artifacts
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1096 _farr_A_[0-9a-f]+__=0 (re)
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1097 [1]
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1098
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1099 $ farray_destroy DUP
d4e8474ecc8b farray.sh: More unittests with regard to array parameter checks
Franz Glasner <fzglas.hg@dom66.de>
parents: 600
diff changeset
1100 $ check_no_array_artifacts
716
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1101
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1102
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1103 Cross Type Checks
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1104 =================
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1105
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1106 $ farray_create TEST
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1107 $ (falist_set TEST key value)
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1108 ERROR: object `TEST' is not an alist
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1109 [70]
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1110 $ farray_destroy TEST
36d953791e0c farray.sh: The token values are prepended by a type-specific prefix: can now easily determine whether it is an array or alist from the value in its name
Franz Glasner <fzglas.hg@dom66.de>
parents: 651
diff changeset
1111 $ check_no_array_artifacts
717
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1112
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1113
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1114 Other Type Checks
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1115 =================
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1116
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1117 $ farray_type
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1118 unknown (no-eol)
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1119 $ farray_type __UNKNOWN_VARIABLE__
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1120 unknown (no-eol)
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1121 $ testvar='foo'
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1122 $ farray_type testvar
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1123 value (no-eol)
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1124 $ testvar=''
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1125 $ farray_type testvar
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1126 null (no-eol)
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1127 $ farray_isarray testvar
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1128 [1]
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1129 $ farray_create TEST
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1130 $ falist_type TEST
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1131 array (no-eol)
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1132 $ farray_isarray TEST
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1133 $ farray_destroy TEST
f4725ad5cd21 farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents: 716
diff changeset
1134 $ check_no_array_artifacts
719
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1135
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1136
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1137 Generic Destruction
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1138 ===================
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1139
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1140 $ farray_create TEST i1 i2
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1141 $ farray_debug TEST
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1142 DEBUG: array `TEST' has length 2
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1143 DEBUG: its contents:
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1144 DEBUG: 1: `i1'
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1145 DEBUG: 2: `i2'
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1146 $ _farr_destroy_object "$TEST"
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1147 $ check_no_array_artifacts
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1148 $ (_farr_destroy_object "$TEST")
723
a97ec3f07bdb farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents: 719
diff changeset
1149 ERROR: farray `_farr_A\?_([a-f0-9]+)' not created properly: no storage for token `\1' (re)
719
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1150 [1]
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1151 $ TEST=''
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1152 $ _farr_destroy_object "$TEST"
b2757e72b517 farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents: 717
diff changeset
1153 $ check_no_array_artifacts