From a3a06d02489a7a43cdd7909c92c79ef7971c8663 Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Sat, 8 Apr 2017 17:02:54 +0200 Subject: test: add tests for gu/gU behavior in Turkish locale --- test/functional/normal/lang_spec.lua | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 test/functional/normal/lang_spec.lua (limited to 'test/functional') diff --git a/test/functional/normal/lang_spec.lua b/test/functional/normal/lang_spec.lua new file mode 100644 index 0000000000..464b85d684 --- /dev/null +++ b/test/functional/normal/lang_spec.lua @@ -0,0 +1,59 @@ +local helpers = require('test.functional.helpers')(after_each) +local clear, insert, eq = helpers.clear, helpers.insert, helpers.eq +local execute, expect = helpers.execute, 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() + if helpers.pending_win32(pending) then return end + + clear() + if eval('has("mac")') ~= 0 then + pending("not yet on macOS", function() end) + return + end + + 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() + execute('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() + execute('set casemap=') + -- expect Turkish locale behavior + insert("iI") + feed("VgU") + expect("İI") + feed("Vgu") + expect("iı") + end) + + end) +end) -- cgit