1
0
forked from aniani/vim

patch 8.0.0552: toupper and tolower don't work properly for Turkish

Problem:    Toupper and tolower don't work properly for Turkish when 'casemap'
            is empty. (Bjorn Linse)
Solution:   Check the 'casemap' options when deciding how to upper/lower case.
This commit is contained in:
Bram Moolenaar
2017-04-08 19:12:06 +02:00
parent d34f9b1155
commit 3317d5ebbe
3 changed files with 25 additions and 3 deletions

View File

@@ -1603,6 +1603,26 @@ fun! Test_normal30_changecase()
norm! V~
call assert_equal('THIS IS A simple test: äüöss', getline('.'))
" Turkish ASCII turns to multi-byte.
try
lang tr_TR.UTF-8
set casemap=
call setline(1, 'iI')
1normal gUU
call assert_equal("\u0130I", getline(1))
call assert_equal("\u0130I", toupper("iI"))
call setline(1, 'iI')
1normal guu
call assert_equal("i\u0131", getline(1))
call assert_equal("i\u0131", tolower("iI"))
lang en_US.UTF-8
catch /E197:/
" can't use Turkish locale
throw 'Skipped: Turkish locale not available'
endtry
" clean up
bw!
endfunc