diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/options/fillchars_spec.lua | 66 | ||||
-rw-r--r-- | test/functional/options/num_options_spec.lua | 15 | ||||
-rw-r--r-- | test/functional/ui/fold_spec.lua | 5 | ||||
-rw-r--r-- | test/functional/ui/output_spec.lua | 6 |
4 files changed, 85 insertions, 7 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) diff --git a/test/functional/options/num_options_spec.lua b/test/functional/options/num_options_spec.lua index ed17ffdd3c..fb0559054d 100644 --- a/test/functional/options/num_options_spec.lua +++ b/test/functional/options/num_options_spec.lua @@ -51,7 +51,6 @@ describe(':set validation', function() should_succeed('winminheight', 0) should_fail('winwidth', 0, 'E487') should_fail('helpheight', -1, 'E487') - should_fail('maxcombine', 7, 'E474') should_fail('iminsert', 3, 'E474') should_fail('imsearch', 3, 'E474') should_fail('titlelen', -1, 'E487') @@ -94,4 +93,18 @@ describe(':set validation', function() feed_command('set winminwidth=3') eq('E592', eval("v:errmsg"):match("E%d*")) end) + + it('set maxcombine resets to 6', function() + local function setto(value) + feed_command('setglobal maxcombine=' .. value) + feed_command('setlocal maxcombine=' .. value) + meths.set_option('maxcombine', value) + eq(6, meths.get_option('maxcombine')) + eq('', eval("v:errmsg")) + end + setto(0) + setto(1) + setto(6) + setto(7) + end) end) diff --git a/test/functional/ui/fold_spec.lua b/test/functional/ui/fold_spec.lua index 40089d217d..9c5a59b58d 100644 --- a/test/functional/ui/fold_spec.lua +++ b/test/functional/ui/fold_spec.lua @@ -27,9 +27,8 @@ describe("folded lines", function() end) it("works with multibyte text", function() - -- Soon, we will always use the maximum value of 'maxcombine'. - feed_command("set maxcombine=6") - + -- Currently the only allowed value of 'maxcombine' + eq(6, meths.get_option('maxcombine')) eq(true, meths.get_option('arabicshape')) insert([[ å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢͟ العَرَبِيَّة diff --git a/test/functional/ui/output_spec.lua b/test/functional/ui/output_spec.lua index 02ca566bd8..93d8965cb1 100644 --- a/test/functional/ui/output_spec.lua +++ b/test/functional/ui/output_spec.lua @@ -111,10 +111,10 @@ describe("shell command :!", function() feed([[<CR>]]) -- Print BELL control code. #4338 screen.bell = false - feed([[:!printf '\x07\x07\x07\x07text'<CR>]]) + feed([[:!printf '\007\007\007\007text'<CR>]]) screen:expect([[ ~ | - :!printf '\x07\x07\x07\x07text' | + :!printf '\007\007\007\007text' | text | Press ENTER or type command to continue^ | ]], nil, nil, function() @@ -122,7 +122,7 @@ describe("shell command :!", function() end) feed([[<CR>]]) -- Print BS control code. - feed([[:echo system('printf ''\x08\n''')<CR>]]) + feed([[:echo system('printf ''\010\n''')<CR>]]) screen:expect([[ ~ | ^H | |