1#!/bin/sh 2# test quote alignment combinations 3 4# Copyright (C) 2016-2023 Free Software Foundation, Inc. 5 6# This program is free software: you can redistribute it and/or modify 7# it under the terms of the GNU General Public License as published by 8# the Free Software Foundation, either version 3 of the License, or 9# (at your option) any later version. 10 11# This program is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14# GNU General Public License for more details. 15 16# You should have received a copy of the GNU General Public License 17# along with this program. If not, see <https://www.gnu.org/licenses/>. 18 19. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src 20print_ver_ ls 21 22dirname='dir:name' 23mkdir "$dirname" || framework_failure_ 24touch "$dirname/a b" "$dirname/c.foo" || framework_failure_ 25 26e=$(printf '\033') 27color_code='0;31;42' 28c_pre="$e[0m$e[${color_code}m" 29c_post="$e[0m" 30 31cat <<EOF >exp || framework_failure_ 32'$dirname': 33'a b' ${c_pre}c.foo${c_post} 34'$dirname': 35'a b' ${c_pre}c.foo${c_post} 36'$dirname': 37'a b' 38 ${c_pre}c.foo${c_post} 39'$dirname': 40'a b' 41${c_pre}c.foo${c_post} 42'$dirname': 43'a b', ${c_pre}c.foo${c_post} 44'$dirname': 45'a b' ${c_pre}c.foo${c_post} 46 47EOF 48 49for opt in '-w0 -x' '-x' '-og' '-1' '-m' '-C'; do 50 env TERM=xterm LS_COLORS="*.foo=$color_code" TIME_STYLE=+T \ 51 ls $opt -R --quoting=shell-escape --color=always "$dirname" >> out || fail=1 52done 53 54# Append a newline, to accommodate less-capable versions of sed. 55echo >> out || framework_failure_ 56 57# Strip possible varying portion of long format 58sed -e 's/.*T //' -e '/^total/d' out > k && mv k out 59 60compare exp out || fail=1 61 62Exit $fail 63