diff options
author | Jit <jityao+github@gmail.com> | 2019-06-02 21:38:34 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2019-06-02 21:38:34 +0200 |
commit | b65a7b7f6692da9c9b18a1fb68817644a119fbed (patch) | |
tree | 3ea7c873f8a2fd72153f3e41dbfd8a7fc7e2e6c4 /test | |
parent | cbe45a303e289ae5a09446a0eac3313b08e20b99 (diff) | |
download | rneovim-b65a7b7f6692da9c9b18a1fb68817644a119fbed.tar.gz rneovim-b65a7b7f6692da9c9b18a1fb68817644a119fbed.tar.bz2 rneovim-b65a7b7f6692da9c9b18a1fb68817644a119fbed.zip |
[RDY] Fix wildmode=list,full and display+=msgsep interaction (#10103)
* Fix wildmode=list and display+=msgsep interaction
* Add test to check ext_messages behaviour is unchanged
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/ui/messages_spec.lua | 37 | ||||
-rw-r--r-- | test/functional/ui/wildmode_spec.lua | 85 |
2 files changed, 122 insertions, 0 deletions
diff --git a/test/functional/ui/messages_spec.lua b/test/functional/ui/messages_spec.lua index 50e354a7ee..34b9ac8882 100644 --- a/test/functional/ui/messages_spec.lua +++ b/test/functional/ui/messages_spec.lua @@ -681,6 +681,43 @@ describe('ui/ext_messages', function() end) end) +describe('ui/ext_messages', function() + local screen + before_each(function() + clear() + screen = Screen.new(25, 7) + screen:attach({rgb=true, ext_messages=true}) + screen:set_default_attr_ids({ + [1] = {bold = true, foreground = Screen.colors.Blue1}, + [2] = {foreground = Screen.colors.Grey100, background = Screen.colors.Red}, + [3] = {bold = true, reverse = true}, + [4] = {bold = true, foreground = Screen.colors.SeaGreen4}, + }) + end) + + it('wildmode=list', function() + command('set wildmenu wildmode=list') + feed(':set wildm<tab>') + screen:expect{grid=[[ + ^ | + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + ]], messages={{ + content = {{'wildmenu wildmode'}}, + kind = '', + }}, + cmdline={{ + firstc = ':', + content = {{ 'set wildm' }}, + pos = 9, + }}} + end) +end) + describe('ui/builtin messages', function() local screen before_each(function() 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() |