]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/mapfile.tests
Bash-5.2 patch 26: fix typo when specifying readline's custom color prefix
[thirdparty/bash.git] / tests / mapfile.tests
1 # This program is free software: you can redistribute it and/or modify
2 # it under the terms of the GNU General Public License as published by
3 # the Free Software Foundation, either version 3 of the License, or
4 # (at your option) any later version.
5 #
6 # This program is distributed in the hope that it will be useful,
7 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 # GNU General Public License for more details.
10 #
11 # You should have received a copy of the GNU General Public License
12 # along with this program. If not, see <http://www.gnu.org/licenses/>.
13 #
14 declare -a A
15 mapfile A < mapfile.data
16 for (( i = 0 ; i < ${#A[@]} ; i++ )); do
17 echo -n "${A[${i}]}"
18 done
19
20 declare -a B
21 mapfile -t B < mapfile.data
22 for (( i = 0 ; i < ${#B[@]} ; i++ )); do
23 echo "${B[${i}]}"
24 done
25
26 mapfile -C "echo" -c 1 A < mapfile.data
27 mapfile -C "echo" -c 3 A < mapfile.data
28 mapfile -C "echo" -c 19 A < mapfile.data
29
30 declare -a C
31 mapfile -t -u 3 C 3< mapfile.data < mapfile.tests
32 for (( i = 0 ; i < ${#C[@]} ; i++ )); do
33 echo "${C[${i}]}"
34 done
35
36
37 declare -a D
38 for (( i = 0 ; i < 30; i++ )); do
39 D[${i}]="[$i] aaa"
40 done
41 mapfile -O 10 -t D < mapfile.data
42 for (( i = 0 ; i < ${#D[@]} ; i++ )); do
43 echo "${D[${i}]}"
44 done
45
46 declare -a E
47 for (( i = 0 ; i < 30; i++ )); do
48 E[${i}]="[$i] aaa"
49 done
50 mapfile -O 10 -n 5 -t E < mapfile.data
51 for (( i = 0 ; i < ${#E[@]} ; i++ )); do
52 echo "${E[${i}]}"
53 done
54
55 unset -v s array
56 s=$'a\xffb\xffc\xff'
57 mapfile -t -d $'\xff' array <<<"$s"
58 declare -p array
59 unset -v s array
60
61 ${THIS_SH} ./mapfile1.sub
62 ${THIS_SH} ./mapfile2.sub