comparison tests/farray-array.t @ 651:57ee25cec0dd

farray.sh: farray_istrue() and falist_istrue(): truth tests for arrays and alists. The rules are as in Python: non-empty arrays/alists are truish, empty arrays/alists are falsy.
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 27 Sep 2024 22:45:45 +0200
parents 2d0201f54870
children 36d953791e0c
comparison
equal deleted inserted replaced
650:5a367d44b480 651:57ee25cec0dd
20 $ farray_create EMPTY 20 $ farray_create EMPTY
21 $ farray_print_length EMPTY 21 $ farray_print_length EMPTY
22 0 (no-eol) 22 0 (no-eol)
23 $ farray_length _var EMPTY 23 $ farray_length _var EMPTY
24 $ test ${_var} -eq 0 24 $ test ${_var} -eq 0
25 $ farray_istrue EMPTY
26 [1]
25 $ farray_debug EMPTY 27 $ farray_debug EMPTY
26 DEBUG: array `EMPTY' has length 0 28 DEBUG: array `EMPTY' has length 0
27 $ farray_destroy EMPTY 29 $ farray_destroy EMPTY
28 $ check_no_array_artifacts 30 $ check_no_array_artifacts
29 31
32 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'90 ' 34 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'90 '
33 $ farray_print_length TEST 35 $ farray_print_length TEST
34 5 (no-eol) 36 5 (no-eol)
35 $ farray_length _var TEST 37 $ farray_length _var TEST
36 $ test ${_var} -eq 5 38 $ test ${_var} -eq 5
39 $ farray_istrue TEST
37 $ farray_debug TEST 40 $ farray_debug TEST
38 DEBUG: array `TEST' has length 5 41 DEBUG: array `TEST' has length 5
39 DEBUG: its contents: 42 DEBUG: its contents:
40 DEBUG: 1: `0' 43 DEBUG: 1: `0'
41 DEBUG: 2: `1' 44 DEBUG: 2: `1'
46 $ check_no_array_artifacts 49 $ check_no_array_artifacts
47 50
48 Create, clear and destroy an array 51 Create, clear and destroy an array
49 52
50 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'90 ' 53 $ farray_create TEST 0 1 2 '3 4 5' $'" 678" \\\'90 '
54 $ farray_istrue TEST
51 $ farray_print_length TEST 55 $ farray_print_length TEST
52 5 (no-eol) 56 5 (no-eol)
53 $ farray_length _var TEST 57 $ farray_length _var TEST
54 $ test ${_var} -eq 5 58 $ test ${_var} -eq 5
55 $ farray_debug TEST 59 $ farray_debug TEST
59 DEBUG: 2: `1' 63 DEBUG: 2: `1'
60 DEBUG: 3: `2' 64 DEBUG: 3: `2'
61 DEBUG: 4: `3 4 5' 65 DEBUG: 4: `3 4 5'
62 DEBUG: 5: `" 678" \'90 ' 66 DEBUG: 5: `" 678" \'90 '
63 $ farray_clear TEST 67 $ farray_clear TEST
68 $ farray_istrue TEST
69 [1]
64 $ farray_print_length TEST 70 $ farray_print_length TEST
65 0 (no-eol) 71 0 (no-eol)
66 $ farray_length _var TEST 72 $ farray_length _var TEST
67 $ test ${_var} -eq 0 73 $ test ${_var} -eq 0
68 $ farray_destroy TEST 74 $ farray_destroy TEST
75 $ farray_istrue TEST
76 ERROR: farray `TEST' not created properly: token empty
77 [1]
69 $ check_no_array_artifacts 78 $ check_no_array_artifacts
70 79
71 Duplicate destruction 80 Duplicate destruction
72 81
73 $ farray_create TEST 1 2 3 82 $ farray_create TEST 1 2 3