summaryrefslogtreecommitdiff
path: root/src/testdir/test_environ.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-27 16:03:15 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-27 16:03:15 +0200
commita5fe91e6dc610bc823bc3201e2c88179989b13fb (patch)
tree549279515623ddd6f45cfa0ba006d5fac01aeef4 /src/testdir/test_environ.vim
parentcfcd011fcd8021da52fba62dabf7a2497f1879b7 (diff)
downloadvim-git-a5fe91e6dc610bc823bc3201e2c88179989b13fb.tar.gz
patch 8.2.1757: Mac: default locale is lacking the encodingv8.2.1757
Problem: Mac: default locale is lacking the encoding. Solution: Add ".UTF-8 to the locale. (Yee Cheng Chin, closes #7022)
Diffstat (limited to 'src/testdir/test_environ.vim')
-rw-r--r--src/testdir/test_environ.vim21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/testdir/test_environ.vim b/src/testdir/test_environ.vim
index d9f99f057..dd34983ee 100644
--- a/src/testdir/test_environ.vim
+++ b/src/testdir/test_environ.vim
@@ -2,6 +2,8 @@
scriptencoding utf-8
+source check.vim
+
func Test_environ()
unlet! $TESTENV
call assert_equal(0, has_key(environ(), 'TESTENV'))
@@ -45,4 +47,23 @@ func Test_external_env()
call assert_equal('', result)
endfunc
+func Test_mac_locale()
+ CheckFeature osxdarwin
+
+ " If $LANG is not set then the system locale will be used.
+ " Run Vim after unsetting all the locale environmental vars, and capture the
+ " output of :lang.
+ let lang_results = system("unset LANG; unset LC_MESSAGES; " ..
+ \ shellescape(v:progpath) ..
+ \ " --clean -esX -c 'redir @a' -c 'lang' -c 'put a' -c 'print' -c 'qa!' ")
+
+ " Check that:
+ " 1. The locale is the form of <locale>.UTF-8.
+ " 2. Check that fourth item (LC_NUMERIC) is properly set to "C".
+ " Example match: "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8"
+ call assert_match('"\([a-zA-Z_]\+\.UTF-8/\)\{3}C\(/[a-zA-Z_]\+\.UTF-8\)\{2}"',
+ \ lang_results,
+ \ "Default locale should have UTF-8 encoding set, and LC_NUMERIC set to 'C'")
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab