diff src/testdir/test_normal.vim @ 11333:fef09eb74832 v8.0.0552

patch 8.0.0552: toupper and tolower don't work properly for Turkish commit https://github.com/vim/vim/commit/3317d5ebbe8304da82b8088446060afcae0012af Author: Bram Moolenaar <Bram@vim.org> Date: Sat Apr 8 19:12:06 2017 +0200 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.
author Christian Brabandt <cb@256bit.org>
date Sat, 08 Apr 2017 19:15:03 +0200
parents 9e899514e929
children bc8e3fd275be
line wrap: on
line diff
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -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