diff options
Diffstat (limited to 'test/functional/ui/wildmode_spec.lua')
-rw-r--r-- | test/functional/ui/wildmode_spec.lua | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/test/functional/ui/wildmode_spec.lua b/test/functional/ui/wildmode_spec.lua index f4b80fd428..f960b793c9 100644 --- a/test/functional/ui/wildmode_spec.lua +++ b/test/functional/ui/wildmode_spec.lua @@ -169,6 +169,91 @@ describe("'wildmenu'", function() end) end) +describe("'wildmenu'", function() + local screen + before_each(function() + clear() + -- screen needs to be more than 5 rows + -- otherwise the tabline is covered and will be redrawn + screen = Screen.new(25, 7) + screen:attach() + end) + after_each(function() + screen:detach() + end) + + it('wildmode=list,full and display+=msgsep interact correctly #10092', function() + command('set display+=msgsep') + command('set wildmenu wildmode=list,full') + command('set showtabline=2') + feed(':set wildm<tab>') + screen:expect([[ + [No Name] | + | + ~ | + | + :set wildm | + wildmenu wildmode | + :set wildm^ | + ]]) + feed('<tab>') -- trigger wildmode full + screen:expect([[ + [No Name] | + | + | + :set wildm | + wildmenu wildmode | + wildmenu wildmode | + :set wildmenu^ | + ]]) + feed('<Esc>') + screen:expect([[ + [No Name] | + ^ | + ~ | + ~ | + ~ | + ~ | + | + ]]) + end) + + it('wildmode=list,full and display-=msgsep interact correctly', function() + command('set display-=msgsep') + command('set wildmenu wildmode=list,full') + feed(':set wildm<tab>') + screen:expect([[ + ~ | + ~ | + ~ | + ~ | + :set wildm | + wildmenu wildmode | + :set wildm^ | + ]]) + feed('<tab>') -- trigger wildmode full + screen:expect([[ + ~ | + ~ | + ~ | + :set wildm | + wildmenu wildmode | + wildmenu wildmode | + :set wildmenu^ | + ]]) + feed('<Esc>') + screen:expect([[ + ^ | + ~ | + ~ | + ~ | + ~ | + ~ | + | + ]]) + end) +end) + describe('command line completion', function() local screen before_each(function() |