40470: make the test work also with ASCII collation

a few OSs (macOS and some versions of BSDs) use ASCII collation even if
UTF-8 locale is in use
This commit is contained in:
Jun-ichi Takimoto 2017-02-01 10:42:45 +09:00
parent e641e40940
commit 0e25f1cb4d
2 changed files with 19 additions and 16 deletions

View file

@ -1,3 +1,8 @@
2017-02-01 Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp>
* 40470: Test/D07multibyte.ztst: make the test work also on
OSs which always use ASCII collation (e.g. macOS).
2017-01-31 Peter Stephenson <p.stephenson@samsung.com>
* 40466: Makefile.in: update depencencies so autoheader is run

View file

@ -551,22 +551,20 @@
: $functions)
0:Multibyte handling of functions parameter
if [[ -n ${$(locale -a 2>/dev/null)[(R)pl_PL.(utf8|UTF-8)]} ]]; then
(
export LC_ALL=pl_PL.UTF-8
local -a names=(a b c d e f $'\u0105' $'\u0107' $'\u0119')
print -o $names
mkdir -p plchars
cd plchars
touch $names
print ?
)
else
ZTST_skip="No Polish UTF-8 locale found, skipping sort test"
fi
0:Sorting of metafied Polish characters
>a ą b c ć d e ę f
>a ą b c ć d e ę f
# c1=U+0104 (Ą) and c2=U+0120 (Ġ) are chosen so that
# u1 = utf8(c1) = c4 84 < u2 = utf8(c2) = c4 a0
# metafy(u1) = c4 83 a4 > metafy(u2) = c4 83 80
# in both UTF-8 and ASCII collations (the latter is used in macOS
# and some versions of BSDs).
local -a names=( $'\u0104' $'\u0120' )
print -o $names
mkdir -p colltest
cd colltest
touch $names
print ?
0:Sorting of metafied characters
>Ą Ġ
>Ą Ġ
printf '%q%q\n' 你你
0:printf %q and quotestring and general metafy / token madness