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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user