annotate tests/farray-array.t @ 726:23f6d2993fa2

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