aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2018-06-14 18:00:59 +0200
committerGitHub <noreply@github.com>2018-06-14 18:00:59 +0200
commitc46997aa8744f88e9886022dab703157c101cff7 (patch)
treeea9dafd38264c3e8b3c0e8c1449f13d7baabd79b /test
parentf27a665e0515c280e1fa6c999f29921eb882c6b2 (diff)
parent5442f0b6221946e482dec2cb82576f0ba38900fe (diff)
downloadrneovim-c46997aa8744f88e9886022dab703157c101cff7.tar.gz
rneovim-c46997aa8744f88e9886022dab703157c101cff7.tar.bz2
rneovim-c46997aa8744f88e9886022dab703157c101cff7.zip
Merge pull request #8546 from bfredl/eob
Add fillchar for EndOfBuffer and check for invalid UTF-8
Diffstat (limited to 'test')
-rw-r--r--test/functional/options/fillchars_spec.lua66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/functional/options/fillchars_spec.lua b/test/functional/options/fillchars_spec.lua
new file mode 100644
index 0000000000..ab61935d4c
--- /dev/null
+++ b/test/functional/options/fillchars_spec.lua
@@ -0,0 +1,66 @@
+local helpers = require('test.functional.helpers')(after_each)
+local Screen = require('test.functional.ui.screen')
+local clear, command = helpers.clear, helpers.command
+local eval = helpers.eval
+local eq = helpers.eq
+local exc_exec = helpers.exc_exec
+
+describe("'fillchars'", function()
+ local screen
+
+ before_each(function()
+ clear()
+ screen = Screen.new(25, 5)
+ screen:attach()
+ end)
+
+ after_each(function()
+ screen:detach()
+ end)
+
+ local function shouldfail(val,errval)
+ errval = errval or val
+ eq('Vim(set):E474: Invalid argument: fillchars='..errval,
+ exc_exec('set fillchars='..val))
+ end
+
+ describe('"eob" flag', function()
+ it("uses '~' by default", function()
+ eq('', eval('&fillchars'))
+ screen:expect([[
+ ^ |
+ ~ |
+ ~ |
+ ~ |
+ |
+ ]])
+ end)
+ it('supports whitespace', function()
+ command('set fillchars=eob:\\ ')
+ screen:expect([[
+ ^ |
+ |
+ |
+ |
+ |
+ ]])
+ end)
+ it('supports multibyte char', function()
+ command('set fillchars=eob:ñ')
+ screen:expect([[
+ ^ |
+ ñ |
+ ñ |
+ ñ |
+ |
+ ]])
+ end)
+ it('handles invalid values', function()
+ shouldfail('eob:') -- empty string
+ shouldfail('eob:馬') -- doublewidth char
+ shouldfail('eob:å̲') -- composing chars
+ shouldfail('eob:xy') -- two ascii chars
+ shouldfail('eob:\255', 'eob:<ff>') -- invalid UTF-8
+ end)
+ end)
+end)