LC_ALL=$LOCALE_FR_UTF8
export LC_ALL
-# One U+2002 EN SPACE characters.
-env printf 'abcdefghijklmnop\u2002qrstuvwxyz\n' > input1 || framework_failure_
-env printf 'abcdefghij\nklmnop\u2002\nqrstuvwxyz\n'> exp1 || framework_failure_
-fold --spaces --width 10 input1 > out1 || fail=1
-compare exp1 out1 || fail=1
-
-# Two U+2003 EM SPACE characters.
-env printf 'abcdefghijklmnop\u2003\u2003qrstuvwxyz\n' > input2 \
- || framework_failure_
-env printf 'abcdefghij\nklmnop\u2003\u2003\nqrstuvwxyz\n'> exp2 \
- || framework_failure_
-fold --spaces --width 10 input2 > out2 || fail=1
-compare exp2 out2 || fail=1
+# Check if a character is considered blank. Some systems, such as FreeBSD,
+# only consider ASCII spaces and tabs blank.
+isblank ()
+{
+ test $(printf "a$1a\nb$1b\n" | uniq -f1 | wc -l) = 2;
+}
+
+if isblank '\u2002'; then
+ # One U+2002 EN SPACE characters.
+ env printf 'abcdefghijklmnop\u2002qrstuvwxyz\n' > input1 \
+ || framework_failure_
+ env printf 'abcdefghij\nklmnop\u2002\nqrstuvwxyz\n'> exp1 \
+ || framework_failure_
+ fold --spaces --width 10 input1 > out1 || fail=1
+ compare exp1 out1 || fail=1
+fi
+
+if isblank '\u2003'; then
+ # Two U+2003 EM SPACE characters.
+ env printf 'abcdefghijklmnop\u2003\u2003qrstuvwxyz\n' > input2 \
+ || framework_failure_
+ env printf 'abcdefghij\nklmnop\u2003\u2003\nqrstuvwxyz\n'> exp2 \
+ || framework_failure_
+ fold --spaces --width 10 input2 > out2 || fail=1
+ compare exp2 out2 || fail=1
+fi
Exit $fail