12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- local helpers = require('test.functional.helpers')(after_each)
- local clear, insert, eq = helpers.clear, helpers.insert, helpers.eq
- local command, expect = helpers.command, helpers.expect
- local feed, eval = helpers.feed, helpers.eval
- local exc_exec = helpers.exc_exec
- describe('gu and gU', function()
- before_each(clear)
- it('works in any locale with default casemap', function()
- eq('internal,keepascii', eval('&casemap'))
- insert("iI")
- feed("VgU")
- expect("II")
- feed("Vgu")
- expect("ii")
- end)
- describe('works in Turkish locale', function()
- clear()
- local err = exc_exec('lang ctype tr_TR.UTF-8')
- if err ~= 0 then
- pending("Locale tr_TR.UTF-8 not supported", function() end)
- return
- end
- before_each(function()
- command('lang ctype tr_TR.UTF-8')
- end)
- it('with default casemap', function()
- eq('internal,keepascii', eval('&casemap'))
- -- expect ASCII behavior
- insert("iI")
- feed("VgU")
- expect("II")
- feed("Vgu")
- expect("ii")
- end)
- it('with casemap=""', function()
- command('set casemap=')
- -- expect either Turkish locale behavior or ASCII behavior
- local iupper = eval("toupper('i')")
- if iupper == "İ" then
- insert("iI")
- feed("VgU")
- expect("İI")
- feed("Vgu")
- expect("iı")
- elseif iupper == "I" then
- insert("iI")
- feed("VgU")
- expect("II")
- feed("Vgu")
- expect("ii")
- else
- error("expected toupper('i') to be either 'I' or 'İ'")
- end
- end)
- end)
- end)
|