diff options
Diffstat (limited to 'src/grep/tests/utf8-bracket')
-rwxr-xr-x | src/grep/tests/utf8-bracket | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/grep/tests/utf8-bracket b/src/grep/tests/utf8-bracket new file mode 100755 index 0000000..0d31ece --- /dev/null +++ b/src/grep/tests/utf8-bracket @@ -0,0 +1,40 @@ +#!/bin/sh +# Check bracket expressions in a UTF-8 locale. + +# Copyright 2015-2021 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +. "${srcdir=.}/init.sh"; path_prepend_ ../src +require_en_utf8_locale_ + +printf '1\n2\n' >in || framework_failure_ + +fail=0 + +for locale in C en_US.UTF-8; do + for options in -qz -qzE; do + case $options in + *E*) parens='()';; + *) parens='\(\)';; + esac + for pattern in '1.2' '[12].2' '[1-2].2' '[1-2][^a][1-2]'; do + for suffix in '' "$parens\\1"; do + LC_ALL=$locale grep $options "$pattern$suffix" in || fail=1 + done + done + done +done + +Exit $fail |