summaryrefslogtreecommitdiff
path: root/tests/char-class-multibyte
diff options
context:
space:
mode:
Diffstat (limited to 'tests/char-class-multibyte')
-rwxr-xr-xtests/char-class-multibyte31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/char-class-multibyte b/tests/char-class-multibyte
new file mode 100755
index 0000000..459d10c
--- /dev/null
+++ b/tests/char-class-multibyte
@@ -0,0 +1,31 @@
+#!/bin/sh
+# This would segfault for grep-2.6
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
+
+require_en_utf8_locale_
+require_compiled_in_MB_support
+
+printf 'é\n' > exp1 || framework_failure_
+fail=0
+
+for LOC in en_US.UTF-8 $LOCALE_FR_UTF8; do
+ out=out1-$LOC
+ printf 'á\nç\né\n' | LC_ALL=$LOC grep '[é]' > $out || fail=1
+ compare exp1 $out || fail=1
+done
+
+printf 'É\n' > exp2 || framework_failure_
+
+for LOC in en_US.UTF-8 $LOCALE_FR_UTF8; do
+ out=out2-$LOC
+ printf 'Á\nÇ\nÉ\n' | LC_ALL=$LOC grep '[É]' > $out || fail=1
+ compare exp2 $out || fail=1
+done
+
+for LOC in en_US.UTF-8 $LOCALE_FR_UTF8; do
+ out=out3-$LOC
+ printf '\303\n' | LC_ALL=$LOC grep '[é]' > $out
+ test $? = 1 || fail=1
+done
+
+Exit $fail