Test numeric locale

This allows us to test that `test` takes numbers with decimal point even in comma-using locales,
to stop those pesky americans from breaking everything again.

(and yes, we use french to keep myself honest)
This commit is contained in:
Fabian Homborg 2021-07-29 16:58:04 +02:00
parent 4c90ed0e0d
commit 09b8471f5c

View File

@ -52,3 +52,19 @@ t 5,2
# CHECKERR: in function 't' with arguments '5,2' # CHECKERR: in function 't' with arguments '5,2'
# CHECKERR: called on line {{\d+}} of file {{.*}}test.fish # CHECKERR: called on line {{\d+}} of file {{.*}}test.fish
if command -q locale
# Try to get a comma-using locale.
# We have a cheesy list hardcoded, and try to get it in the spelling
# that "locale" uses.
set -l locales (locale -a)
set -l use
for locale in de_de fr_fr nl_NL pt_BR
set use (string match -ri "$locale.utf.?8" -- $locales)
and break
end
if set -q use[1]
set -gx LC_ALL $use
# This should succeed without output
test 42.5 -gt 37.2
end
end