Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
annotate tests/farray-alist.t @ 745:a5918c859fe9
farray.sh: Implement falist_find() -- a variant of falist_contains() that also returns the found index proper
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 08 Oct 2024 17:55:23 +0200 |
| parents | 6fcf7da87981 |
| children | 7e2279d6db0f |
| rev | line source |
|---|---|
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 Basic tests of farray.sh's falist_XXX functions |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
3 Shell is /bin/sh. |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
4 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
5 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
6 Setup |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
7 ===== |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
8 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
9 $ set -u |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
10 $ . "${TESTDIR}/testsetup.sh" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
11 $ _p_datadir="${TESTDIR}/../share/local-bsdtools" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
12 $ . "${_p_datadir}/farray.sh" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
13 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
14 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
15 Basic Creation and Destruction |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
16 ============================== |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
17 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
18 Create an empty alist |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
19 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
20 $ falist_create LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
21 $ falist_length _i LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
22 $ echo "$_i" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
23 0 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
24 $ test "${_i}" -eq 0 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
25 $ falist_print_length LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
26 0 (no-eol) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
27 |
|
651
57ee25cec0dd
farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents:
615
diff
changeset
|
28 $ falist_istrue LIST |
|
57ee25cec0dd
farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents:
615
diff
changeset
|
29 [1] |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
30 $ falist_debug LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
31 DEBUG: alist `LIST' has length 0 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
32 |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
33 $ falist_release LIST |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
34 $ ( falist_release LIST ) |
|
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
|
35 ERROR: object `LIST' not created properly: token empty |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
36 [1] |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
37 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
38 $ check_no_alist_artifacts |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
39 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
40 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
41 Clear |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
42 ===== |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
43 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
44 $ falist_create LIST |
|
651
57ee25cec0dd
farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents:
615
diff
changeset
|
45 $ falist_istrue LIST |
|
57ee25cec0dd
farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents:
615
diff
changeset
|
46 [1] |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
47 $ falist_set LIST K1 V1 |
|
651
57ee25cec0dd
farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents:
615
diff
changeset
|
48 $ falist_istrue LIST |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
49 $ falist_set LIST K2 V2 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
50 $ falist_debug LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
51 DEBUG: alist `LIST' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
52 DEBUG: the items: |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
53 DEBUG: `K1' -> `V1' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
54 DEBUG: `K2' -> `V2' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
55 $ falist_length _i LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
56 $ echo "$_i" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
57 2 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
58 $ falist_print_length LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
59 2 (no-eol) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
60 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
61 $ falist_clear LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
62 $ falist_length _i LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
63 $ echo "$_i" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
64 0 |
|
651
57ee25cec0dd
farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents:
615
diff
changeset
|
65 $ falist_istrue LIST |
|
57ee25cec0dd
farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents:
615
diff
changeset
|
66 [1] |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
67 $ falist_print_length LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
68 0 (no-eol) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
69 |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
70 $ falist_release LIST |
|
651
57ee25cec0dd
farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists.
Franz Glasner <fzglas.hg@dom66.de>
parents:
615
diff
changeset
|
71 $ falist_istrue LIST |
|
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
|
72 ERROR: object `LIST' 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:
615
diff
changeset
|
73 [1] |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
74 $ check_no_alist_artifacts |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
75 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
76 |
|
745
a5918c859fe9
farray.sh: Implement falist_find() -- a variant of falist_contains() that also returns the found index proper
Franz Glasner <fzglas.hg@dom66.de>
parents:
743
diff
changeset
|
77 Get / Set / Contains / Find Index |
|
a5918c859fe9
farray.sh: Implement falist_find() -- a variant of falist_contains() that also returns the found index proper
Franz Glasner <fzglas.hg@dom66.de>
parents:
743
diff
changeset
|
78 ================================= |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
79 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
80 $ falist_create LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
81 $ falist_set LIST K1 V1 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
82 $ falist_set LIST K2 V2 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
83 $ falist_debug LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
84 DEBUG: alist `LIST' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
85 DEBUG: the items: |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
86 DEBUG: `K1' -> `V1' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
87 DEBUG: `K2' -> `V2' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
88 $ falist_length _i LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
89 $ echo "$_i" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
90 2 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
91 $ falist_print_length LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
92 2 (no-eol) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
93 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
94 $ falist_set LIST K2 "V2 2" |
|
718
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
95 $ falist_set_unique LIST K2 "V2 duplicate" |
|
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
96 [1] |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
97 $ falist_set LIST K3 $'" 111222333" \\\'444555 ' # ' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
98 $ falist_debug LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
99 DEBUG: alist `LIST' has length 3 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
100 DEBUG: the items: |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
101 DEBUG: `K1' -> `V1' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
102 DEBUG: `K2' -> `V2 2' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
103 DEBUG: `K3' -> `" 111222333" \'444555 ' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
104 $ falist_length _i LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
105 $ echo "$_i" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
106 3 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
107 $ falist_print_length LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
108 3 (no-eol) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
109 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
110 $ falist_contains LIST K1 |
|
745
a5918c859fe9
farray.sh: Implement falist_find() -- a variant of falist_contains() that also returns the found index proper
Franz Glasner <fzglas.hg@dom66.de>
parents:
743
diff
changeset
|
111 $ falist_find idx LIST K1 |
|
a5918c859fe9
farray.sh: Implement falist_find() -- a variant of falist_contains() that also returns the found index proper
Franz Glasner <fzglas.hg@dom66.de>
parents:
743
diff
changeset
|
112 $ test "$idx" -eq 1 |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
113 $ falist_contains LIST K |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
114 [1] |
|
745
a5918c859fe9
farray.sh: Implement falist_find() -- a variant of falist_contains() that also returns the found index proper
Franz Glasner <fzglas.hg@dom66.de>
parents:
743
diff
changeset
|
115 $ falist_find idx LIST K |
|
a5918c859fe9
farray.sh: Implement falist_find() -- a variant of falist_contains() that also returns the found index proper
Franz Glasner <fzglas.hg@dom66.de>
parents:
743
diff
changeset
|
116 [1] |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
117 $ falist_get _var LIST K2 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
118 $ echo "$_var" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
119 V2 2 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
120 $ falist_tryget _var LIST K1 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
121 $ echo "$_var" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
122 V1 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
123 $ falist_tryget _i LIST K |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
124 [1] |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
125 $ _var="$(falist_print_length NON_EXISTING_LIST)" |
|
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
|
126 ERROR: object `NON_EXISTING_LIST' not created properly: token empty |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
127 $ echo "${_var}" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
128 -1 |
|
718
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
129 $ falist_set_unique LIST K4 "V4" |
|
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
130 $ falist_debug LIST |
|
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
131 DEBUG: alist `LIST' has length 4 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
132 DEBUG: the items: |
|
718
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
133 DEBUG: `K1' -> `V1' |
|
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
134 DEBUG: `K2' -> `V2 2' |
|
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
135 DEBUG: `K3' -> `" 111222333" \'444555 ' |
|
2502e077d5e9
farray.sh: Implement "falist_set_unique()" that does not overwrite existing key-value pairs
Franz Glasner <fzglas.hg@dom66.de>
parents:
717
diff
changeset
|
136 DEBUG: `K4' -> `V4' |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
137 $ falist_release LIST |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
138 $ check_no_alist_artifacts |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
139 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
140 |
|
739
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
141 Add |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
142 === |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
143 |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
144 $ falist_create LIST |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
145 $ falist_add LIST K1 'V 1' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
146 $ falist_add LIST K2 'V 2' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
147 $ falist_add LIST K3 $'" 111222333" \\\'444555666 ' # ' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
148 $ falist_debug LIST |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
149 DEBUG: alist `LIST' has length 3 |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
150 DEBUG: the items: |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
151 DEBUG: `K1' -> `V 1' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
152 DEBUG: `K2' -> `V 2' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
153 DEBUG: `K3' -> `" 111222333" \'444555666 ' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
154 Yes: make a duplicate key |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
155 $ falist_add LIST K3 $'" 111222333" \\\'444555666 ' # |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
156 $ falist_debug LIST |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
157 DEBUG: alist `LIST' has length 4 |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
158 DEBUG: the items: |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
159 DEBUG: `K1' -> `V 1' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
160 DEBUG: `K2' -> `V 2' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
161 DEBUG: `K3' -> `" 111222333" \'444555666 ' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
162 DEBUG: `K3' -> `" 111222333" \'444555666 ' |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
163 $ falist_release LIST |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
164 $ check_no_alist_artifacts |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
165 |
|
dae85cddc47b
farray.sh: implement "falist_add()"
Franz Glasner <fzglas.hg@dom66.de>
parents:
733
diff
changeset
|
166 |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
167 Iteration |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
168 ========= |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
169 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
170 ITERATE (manual indexing) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
171 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
172 $ falist_create LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
173 $ falist_set LIST K1 V1 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
174 $ falist_set LIST K2 "V2 2" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
175 $ falist_set LIST K3 $'" 111222333" \\\'444555 ' # ' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
176 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
177 Iteration by indexing key and values separately |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
178 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
179 $ _i=1 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
180 > while falist_tryget_key_at_index _k LIST ${_i}; do |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
181 > # cannot fail under "normal" circumstances |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
182 > falist_tryget_value_at_index _v LIST ${_i} |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
183 > printf " KEY: \`%s', VAL: \`%s'\\n" "${_k}" "${_v}" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
184 > _i=$((_i + 1)) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
185 > done |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
186 KEY: `K1', VAL: `V1' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
187 KEY: `K2', VAL: `V2 2' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
188 KEY: `K3', VAL: `" 111222333" \'444555 ' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
189 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
190 ITERATE (manual indexing over items) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
191 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
192 $ _i=1 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
193 > while falist_tryget_item_at_index _k _v LIST ${_i}; do |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
194 > printf " KEY: \`%s', VAL: \`%s'\\n" "${_k}" "${_v}" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
195 > _i=$((_i + 1)) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
196 > done |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
197 KEY: `K1', VAL: `V1' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
198 KEY: `K2', VAL: `V2 2' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
199 KEY: `K3', VAL: `" 111222333" \'444555 ' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
200 |
|
723
a97ec3f07bdb
farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents:
719
diff
changeset
|
201 ITERATE (for each, by name) |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
202 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
203 $ falist_for_each LIST $'printf "EACH: %s key \\`%s\\\', value \\`%s\\\' at idx %d\\n"' # ` |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
204 EACH: LIST key `K1', value `V1' at idx 1 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
205 EACH: LIST key `K2', value `V2 2' at idx 2 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
206 EACH: LIST key `K3', value `" 111222333" \'444555 ' at idx 3 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
207 |
|
723
a97ec3f07bdb
farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents:
719
diff
changeset
|
208 ITERATE (for each, by value) |
|
a97ec3f07bdb
farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents:
719
diff
changeset
|
209 |
|
a97ec3f07bdb
farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents:
719
diff
changeset
|
210 $ falist_for_each "$LIST" $'printf "EACH: %s key \\`%s\\\', value \\`%s\\\' at idx %d\\n"' # ` |
|
729
05a325c7d5c5
farray.sh: change token prefixes again
Franz Glasner <fzglas.hg@dom66.de>
parents:
728
diff
changeset
|
211 EACH: _farr_KV\[\?,\?\]:[a-f0-9]+ key `K1', value `V1' at idx 1 (re) |
|
05a325c7d5c5
farray.sh: change token prefixes again
Franz Glasner <fzglas.hg@dom66.de>
parents:
728
diff
changeset
|
212 EACH: _farr_KV\[\?,\?\]:[a-f0-9]+ key `K2', value `V2 2' at idx 2 (re) |
|
05a325c7d5c5
farray.sh: change token prefixes again
Franz Glasner <fzglas.hg@dom66.de>
parents:
728
diff
changeset
|
213 EACH: _farr_KV\[\?,\?\]:[a-f0-9]+ key `K3', value `" 111222333" \\'444555 ' at idx 3 (re) |
|
723
a97ec3f07bdb
farray.sh: REFACTOR: More flexible metadata retrieval.
Franz Glasner <fzglas.hg@dom66.de>
parents:
719
diff
changeset
|
214 |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
215 $ falist_clear LIST |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
216 $ falist_release LIST |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
217 $ falist_release LIST |
|
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
|
218 ERROR: object `LIST' not created properly: token empty |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
219 [1] |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
220 |
|
606
0ad7b2120e74
farray.sh: tests: add forgotten check for left artifacts (memory leaks)
Franz Glasner <fzglas.hg@dom66.de>
parents:
605
diff
changeset
|
221 $ check_no_alist_artifacts |
|
0ad7b2120e74
farray.sh: tests: add forgotten check for left artifacts (memory leaks)
Franz Glasner <fzglas.hg@dom66.de>
parents:
605
diff
changeset
|
222 |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
223 |
|
607
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
224 Valid and Invalid Indices |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
225 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
226 $ falist_create LIST |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
227 $ falist_set LIST 'KEY 1' 'VAL 1' |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
228 $ falist_set LIST 'KEY 2' 'VAL 2' |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
229 $ falist_set LIST 'KEY 3' 'VAL 3' |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
230 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
231 $ (falist_tryget_item_at_index _k _v LIST "") |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
232 ERROR: missing index |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
233 [70] |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
234 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
235 $ (falist_tryget_item_at_index _k _v LIST) |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
236 ERROR: missing index |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
237 [70] |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
238 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
239 $ falist_tryget_item_at_index _k _v LIST 4 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
240 [1] |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
241 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
242 $ falist_tryget_item_at_index _k _v LIST 0 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
243 $ printf '%s:%s' "$_k" "$_v" |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
244 KEY 3:VAL 3 (no-eol) |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
245 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
246 $ falist_tryget_item_at_index _k _v LIST -2 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
247 $ printf '%s:%s' "$_k" "$_v" |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
248 KEY 1:VAL 1 (no-eol) |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
249 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
250 $ falist_tryget_item_at_index _k _v LIST -3 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
251 [1] |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
252 |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
253 $ falist_release LIST |
|
607
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
254 $ check_no_alist_artifacts |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
255 |
|
c450fd0eaddb
farray.sh: Generalized indices for falist_tryget_{item,key,value}_at_index()
Franz Glasner <fzglas.hg@dom66.de>
parents:
606
diff
changeset
|
256 |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
257 Deletion of keys |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
258 ================ |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
259 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
260 $ falist_create LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
261 $ falist_set LIST 'key 1' 'value 1' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
262 $ falist_set LIST 'key 2' 'value 2' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
263 $ falist_set LIST 'key 3' 'value 3' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
264 $ falist_set LIST 'key 4' 'value 4' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
265 $ falist_set LIST 'key 5' 'value 5' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
266 $ falist_trydel LIST 'key 1' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
267 $ falist_trydel LIST 'key 5' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
268 $ falist_trydel LIST 'key 3' |
|
605
96366e2075fe
farray.sh: enhance unittests for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
604
diff
changeset
|
269 $ falist_debug LIST |
|
96366e2075fe
farray.sh: enhance unittests for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
604
diff
changeset
|
270 DEBUG: alist `LIST' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
271 DEBUG: the items: |
|
605
96366e2075fe
farray.sh: enhance unittests for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
604
diff
changeset
|
272 DEBUG: `key 2' -> `value 2' |
|
96366e2075fe
farray.sh: enhance unittests for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
604
diff
changeset
|
273 DEBUG: `key 4' -> `value 4' |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
274 $ falist_trydel LIST "non-existing key" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
275 [1] |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
276 $ falist_print_length LIST |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
277 2 (no-eol) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
278 $ falist_get _var LIST 'key 2' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
279 $ printf '%s' "$_var" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
280 value 2 (no-eol) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
281 $ falist_get _var LIST 'key 4' |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
282 $ printf '%s' "$_var" |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
283 value 4 (no-eol) |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
284 |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
285 $ falist_release LIST |
|
604
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
286 |
|
45c47bc1f7d2
farray.sh: Moved all currently existing tests for alists into cram tests.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
287 $ check_no_alist_artifacts |
|
612
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
288 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
289 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
290 Compare |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
291 ======= |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
292 |
|
613
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
293 $ falist_create LIST1 K1 V1 K2 V2 |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
294 $ falist_debug LIST1 |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
295 DEBUG: alist `LIST1' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
296 DEBUG: the items: |
|
613
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
297 DEBUG: `K1' -> `V1' |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
298 DEBUG: `K2' -> `V2' |
|
612
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
299 |
|
613
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
300 $ falist_create LIST2 K2 V2 K1 V1 |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
301 $ falist_debug LIST2 |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
302 DEBUG: alist `LIST2' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
303 DEBUG: the items: |
|
613
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
304 DEBUG: `K2' -> `V2' |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
305 DEBUG: `K1' -> `V1' |
|
612
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
306 |
|
613
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
307 $ falist_create LIST3 K1 V1 K2 V2 |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
308 $ falist_debug LIST3 |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
309 DEBUG: alist `LIST3' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
310 DEBUG: the items: |
|
613
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
311 DEBUG: `K1' -> `V1' |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
312 DEBUG: `K2' -> `V2' |
|
612
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
313 |
|
613
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
314 $ falist_create LIST4 K1 V1 K2 V2-4 |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
315 $ falist_debug LIST4 |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
316 DEBUG: alist `LIST4' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
317 DEBUG: the items: |
|
613
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
318 DEBUG: `K1' -> `V1' |
|
17194ffe3638
farray.sh: falist_create() and falist_set() now accept a sequence of key-value pairs.
Franz Glasner <fzglas.hg@dom66.de>
parents:
612
diff
changeset
|
319 DEBUG: `K2' -> `V2-4' |
|
612
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
320 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
321 $ falist_are_equal LIST1 LIST2 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
322 $ falist_are_equal LIST1 LIST4 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
323 [1] |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
324 $ falist_are_equal_with_order LIST1 LIST2 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
325 [1] |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
326 $ falist_are_equal_with_order LIST1 LIST3 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
327 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
328 $ falist_clear LIST2 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
329 $ falist_are_equal LIST1 LIST2 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
330 [1] |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
331 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
332 $ falist_clear LIST3 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
333 $ falist_are_equal_with_order LIST2 LIST3 |
|
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
334 |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
335 $ falist_release LIST1 |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
336 $ falist_release LIST2 |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
337 $ falist_release LIST3 |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
338 $ falist_release LIST4 |
|
612
c9ef2339618d
farray.sh: Implemented comparison (ordered and unordered) for alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
607
diff
changeset
|
339 |
|
614
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
340 $ check_no_alist_artifacts |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
341 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
342 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
343 Updating |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
344 ======== |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
345 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
346 $ falist_create ARR "Key 1" "Value 1" "Key 2" 'Value 2 '\''' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
347 $ falist_create UPDATE1 "Key 1" "Value 1" "Key 2" 'Value 2 '\''' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
348 $ falist_create UPDATE2 "Key 2" 'Value 2 (Updated) '\''' "Key 3" "Value 3" |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
349 $ falist_create EMPTY |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
350 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
351 $ falist_are_equal_with_order ARR UPDATE1 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
352 $ falist_are_equal_with_order ARR UPDATE2 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
353 [1] |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
354 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
355 $ falist_update ARR UPDATE1 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
356 $ falist_are_equal_with_order ARR UPDATE1 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
357 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
358 $ falist_update ARR UPDATE2 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
359 $ falist_debug ARR |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
360 DEBUG: alist `ARR' has length 3 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
361 DEBUG: the items: |
|
614
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
362 DEBUG: `Key 1' -> `Value 1' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
363 DEBUG: `Key 2' -> `Value 2 (Updated) '' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
364 DEBUG: `Key 3' -> `Value 3' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
365 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
366 Updating an into an empty alist is just a copy |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
367 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
368 $ falist_update EMPTY UPDATE1 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
369 $ falist_debug EMPTY |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
370 DEBUG: alist `EMPTY' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
371 DEBUG: the items: |
|
614
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
372 DEBUG: `Key 1' -> `Value 1' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
373 DEBUG: `Key 2' -> `Value 2 '' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
374 $ falist_debug UPDATE1 |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
375 DEBUG: alist `UPDATE1' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
376 DEBUG: the items: |
|
614
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
377 DEBUG: `Key 1' -> `Value 1' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
378 DEBUG: `Key 2' -> `Value 2 '' |
|
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
379 |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
380 $ falist_release ARR |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
381 $ falist_release UPDATE1 |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
382 $ falist_release UPDATE2 |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
383 $ falist_release EMPTY |
|
614
62fbc4316d97
farray.sh: Implement falist_update(): update an existing alist from another
Franz Glasner <fzglas.hg@dom66.de>
parents:
613
diff
changeset
|
384 |
|
615
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
385 $ check_no_alist_artifacts |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
386 |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
387 |
|
743
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
388 Merging |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
389 ======= |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
390 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
391 $ falist_create RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
392 $ falist_create INPUT1 "K1" "V1" "K2" "V2" "K3" "V3" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
393 $ falist_create INPUT2 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
394 $ falist_merge "$RES" "$INPUT1" "$INPUT2" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
395 $ falist_release INPUT1 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
396 $ falist_release INPUT2 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
397 $ falist_debug RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
398 DEBUG: alist `RES' has length 3 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
399 DEBUG: the items: |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
400 DEBUG: `K1' -> `V1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
401 DEBUG: `K2' -> `V2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
402 DEBUG: `K3' -> `V3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
403 $ falist_release RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
404 $ check_no_alist_artifacts |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
405 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
406 $ falist_create RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
407 $ falist_create INPUT1 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
408 $ falist_create INPUT2 "k1" "v1" "k2" "v2" "k3" "v3" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
409 $ falist_merge "$RES" "$INPUT1" "$INPUT2" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
410 $ falist_release INPUT1 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
411 $ falist_release INPUT2 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
412 $ falist_debug RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
413 DEBUG: alist `RES' has length 3 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
414 DEBUG: the items: |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
415 DEBUG: `k1' -> `v1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
416 DEBUG: `k2' -> `v2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
417 DEBUG: `k3' -> `v3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
418 $ falist_release RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
419 $ check_no_alist_artifacts |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
420 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
421 $ falist_create RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
422 $ falist_create INPUT1 "K1" "V1" "K2" "V2" "K3" "V3" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
423 $ falist_create INPUT2 "k1" "v1" "k2" "v2" "k3" "v3" "k4" "v4" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
424 $ falist_merge "$RES" "$INPUT1" "$INPUT2" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
425 $ falist_release INPUT1 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
426 $ falist_release INPUT2 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
427 $ falist_debug RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
428 DEBUG: alist `RES' has length 7 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
429 DEBUG: the items: |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
430 DEBUG: `K1' -> `V1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
431 DEBUG: `K2' -> `V2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
432 DEBUG: `K3' -> `V3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
433 DEBUG: `k1' -> `v1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
434 DEBUG: `k2' -> `v2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
435 DEBUG: `k3' -> `v3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
436 DEBUG: `k4' -> `v4' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
437 $ falist_release RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
438 $ check_no_alist_artifacts |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
439 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
440 $ falist_create RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
441 $ falist_create INPUT1 "k1" "v1" "k2" "v2" "k3" "v3" "k4" "v4" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
442 $ falist_create INPUT2 "K1" "V1" "K2" "V2" "K3" "V3" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
443 $ falist_merge "$RES" "$INPUT1" "$INPUT2" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
444 $ falist_release INPUT1 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
445 $ falist_release INPUT2 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
446 $ falist_debug RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
447 DEBUG: alist `RES' has length 7 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
448 DEBUG: the items: |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
449 DEBUG: `K1' -> `V1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
450 DEBUG: `K2' -> `V2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
451 DEBUG: `K3' -> `V3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
452 DEBUG: `k1' -> `v1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
453 DEBUG: `k2' -> `v2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
454 DEBUG: `k3' -> `v3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
455 DEBUG: `k4' -> `v4' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
456 $ falist_release RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
457 $ check_no_alist_artifacts |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
458 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
459 $ falist_create RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
460 $ falist_create INPUT1 "K1" "V1" "K3" "V3" "k1" "v1" "k4" "v4" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
461 $ falist_create INPUT2 "K2" "V2" "k2" "v2" "k3" "v3" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
462 $ falist_merge "$RES" "$INPUT1" "$INPUT2" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
463 $ falist_release INPUT1 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
464 $ falist_release INPUT2 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
465 $ falist_debug RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
466 DEBUG: alist `RES' has length 7 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
467 DEBUG: the items: |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
468 DEBUG: `K1' -> `V1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
469 DEBUG: `K2' -> `V2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
470 DEBUG: `K3' -> `V3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
471 DEBUG: `k1' -> `v1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
472 DEBUG: `k2' -> `v2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
473 DEBUG: `k3' -> `v3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
474 DEBUG: `k4' -> `v4' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
475 $ falist_release RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
476 $ check_no_alist_artifacts |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
477 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
478 $ falist_create RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
479 $ falist_create INPUT1 "K1" "V1" "K3" "V3" "k1" "v1" "k4" "v4" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
480 $ falist_create INPUT2 "K2" "V2" "k2" "v2" "k3" "v3" |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
481 $ falist_merge "$RES" INPUT2 INPUT1 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
482 $ falist_release INPUT1 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
483 $ falist_release INPUT2 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
484 $ falist_debug RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
485 DEBUG: alist `RES' has length 7 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
486 DEBUG: the items: |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
487 DEBUG: `K1' -> `V1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
488 DEBUG: `K2' -> `V2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
489 DEBUG: `K3' -> `V3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
490 DEBUG: `k1' -> `v1' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
491 DEBUG: `k2' -> `v2' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
492 DEBUG: `k3' -> `v3' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
493 DEBUG: `k4' -> `v4' |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
494 $ falist_release RES |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
495 $ check_no_alist_artifacts |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
496 |
|
6fcf7da87981
farray.sh: implement "falist_merge()" to merge two "sorted" alists and add the result to a resulting alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
739
diff
changeset
|
497 |
|
615
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
498 Items / Keys / Values |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
499 ===================== |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
500 |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
501 $ farray_create KEYS |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
502 $ farray_create VALUES |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
503 $ farray_create ITEMS |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
504 $ falist_create LIST "Key 1" "Value 1" "Key 2" 'Value 2 '\''' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
505 $ falist_items ITEMS LIST |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
506 $ farray_debug ITEMS |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
507 DEBUG: array `ITEMS' has length 4 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
508 DEBUG: the items: |
|
615
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
509 DEBUG: 1: `Key 1' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
510 DEBUG: 2: `Value 1' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
511 DEBUG: 3: `Key 2' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
512 DEBUG: 4: `Value 2 '' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
513 $ falist_keys KEYS LIST |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
514 $ farray_debug KEYS |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
515 DEBUG: array `KEYS' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
516 DEBUG: the items: |
|
615
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
517 DEBUG: 1: `Key 1' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
518 DEBUG: 2: `Key 2' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
519 $ falist_values VALUES LIST |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
520 $ farray_debug VALUES |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
521 DEBUG: array `VALUES' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
522 DEBUG: the items: |
|
615
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
523 DEBUG: 1: `Value 1' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
524 DEBUG: 2: `Value 2 '' |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
525 |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
526 $ falist_release LIST |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
527 $ farray_release KEYS |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
528 $ farray_release VALUES |
|
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
529 $ farray_release ITEMS |
|
615
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
530 |
|
454ce7fa25c8
farray.sh: Implement falist_items(), falist_keys() and falist_values()
Franz Glasner <fzglas.hg@dom66.de>
parents:
614
diff
changeset
|
531 $ check_no_alist_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
|
532 |
|
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
|
533 |
|
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
|
534 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
|
535 ================= |
|
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
|
536 |
|
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
|
537 $ falist_create LIST |
|
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
|
538 $ (farray_append LIST 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
|
539 ERROR: object `LIST' is not an array |
|
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
|
540 [70] |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
541 $ falist_release LIST |
|
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
|
542 $ check_no_alist_artifacts |
|
717
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
543 |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
544 |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
545 Other Type Checks |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
546 ================= |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
547 |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
548 $ falist_type |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
549 unknown (no-eol) |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
550 $ falist_type __UNKNOWN_VARIABLE__ |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
551 unknown (no-eol) |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
552 $ testvar='foo' |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
553 $ falist_type testvar |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
554 value (no-eol) |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
555 $ testvar='' |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
556 $ falist_type testvar |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
557 null (no-eol) |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
558 $ falist_isalist testvar |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
559 [1] |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
560 $ falist_create LIST |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
561 $ falist_type LIST |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
562 alist (no-eol) |
|
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
563 $ falist_isalist LIST |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
564 $ falist_release LIST |
|
717
f4725ad5cd21
farray.sh: type tests for array and alist
Franz Glasner <fzglas.hg@dom66.de>
parents:
716
diff
changeset
|
565 $ check_no_alist_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:
718
diff
changeset
|
566 |
|
b2757e72b517
farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
718
diff
changeset
|
567 |
|
b2757e72b517
farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
718
diff
changeset
|
568 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:
718
diff
changeset
|
569 =================== |
|
b2757e72b517
farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
718
diff
changeset
|
570 |
|
b2757e72b517
farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
718
diff
changeset
|
571 $ falist_create LIST k1 v2 |
|
b2757e72b517
farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
718
diff
changeset
|
572 $ falist_debug LIST |
|
b2757e72b517
farray.sh: The first preparations to allow arrays/alists as values in other arrays or alists
Franz Glasner <fzglas.hg@dom66.de>
parents:
718
diff
changeset
|
573 DEBUG: alist `LIST' has length 1 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
574 DEBUG: the items: |
|
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:
718
diff
changeset
|
575 DEBUG: `k1' -> `v2' |
|
728
858f4208d9cb
farray.sh: Resource management by reference counting done
Franz Glasner <fzglas.hg@dom66.de>
parents:
726
diff
changeset
|
576 $ _farr_release_object "$LIST" |
|
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:
718
diff
changeset
|
577 $ check_no_alist_artifacts |
|
728
858f4208d9cb
farray.sh: Resource management by reference counting done
Franz Glasner <fzglas.hg@dom66.de>
parents:
726
diff
changeset
|
578 $ (_farr_release_object "$LIST") |
|
729
05a325c7d5c5
farray.sh: change token prefixes again
Franz Glasner <fzglas.hg@dom66.de>
parents:
728
diff
changeset
|
579 ERROR: falist `_farr_KV\[\?,\?\]:([a-f0-9]+)' not created properly: no object for token `\1' (re) |
|
728
858f4208d9cb
farray.sh: Resource management by reference counting done
Franz Glasner <fzglas.hg@dom66.de>
parents:
726
diff
changeset
|
580 [1] |
|
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:
718
diff
changeset
|
581 $ LIST='' |
|
728
858f4208d9cb
farray.sh: Resource management by reference counting done
Franz Glasner <fzglas.hg@dom66.de>
parents:
726
diff
changeset
|
582 $ _farr_release_object "$LIST" |
|
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:
718
diff
changeset
|
583 $ check_no_alist_artifacts |
|
726
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
584 |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
585 |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
586 Complex Debug |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
587 ============= |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
588 |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
589 $ falist_create LIST |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
590 $ falist_set LIST K1 V1 |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
591 $ falist_create ITEM1 K11 V11 K22 V22 |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
592 $ falist_set LIST K2 "$ITEM1" |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
593 $ falist_release ITEM1 |
|
726
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
594 $ falist_debug LIST |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
595 DEBUG: alist `LIST' has length 2 |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
596 DEBUG: the items: |
|
726
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
597 DEBUG: `K1' -> `V1' |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
598 DEBUG: `K2' -> >>> |
|
726
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
599 DEBUG: alist with token `[a-f0-9]+' has length 2 (re) |
|
733
772e4999562b
farray.sh: Unified the output of farray_debug() and falist_debug()
Franz Glasner <fzglas.hg@dom66.de>
parents:
730
diff
changeset
|
600 DEBUG: the items: |
|
726
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
601 DEBUG: `K11' -> `V11' |
|
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
602 DEBUG: `K22' -> `V22' |
|
730
8f1583faf9ea
farray.sh: Rename farray_destroy() to farray_release() and falist_destroy() to falist_release()
Franz Glasner <fzglas.hg@dom66.de>
parents:
729
diff
changeset
|
603 $ falist_release LIST |
|
726
23f6d2993fa2
farray.sh: Test the debug output and the destruction of complex objects.
Franz Glasner <fzglas.hg@dom66.de>
parents:
724
diff
changeset
|
604 $ check_no_alist_artifacts |
