From 399eb49bafcbd4bf60ff32e339a1f673e75acf2b Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Fri, 21 Jun 2019 10:00:35 +0200 Subject: highlight: show "hi Group" message correctly when not using the screen ext_message doesn't set msg_col. Add a space and let client deal with wrapping. When using silent redirect show the unwrapped message form. Removed check is already part of msg_advance() --- test/functional/ui/messages_spec.lua | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'test/functional/ui/messages_spec.lua') diff --git a/test/functional/ui/messages_spec.lua b/test/functional/ui/messages_spec.lua index e6df9885ef..09e13b1464 100644 --- a/test/functional/ui/messages_spec.lua +++ b/test/functional/ui/messages_spec.lua @@ -5,6 +5,7 @@ local eval = helpers.eval local eq = helpers.eq local command = helpers.command local set_method_error = helpers.set_method_error +local meths = helpers.meths describe('ui/ext_messages', function() @@ -332,6 +333,22 @@ describe('ui/ext_messages', function() }} end) + it(':hi Group output', function() + feed(':hi ErrorMsg') + screen:expect{grid=[[ + ^ | + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + ]], messages={ + {content = {{"\nErrorMsg " }, {"xxx", 2}, {" "}, + {"ctermfg=", 5 }, { "15 " }, { "ctermbg=", 5 }, { "1 " }, + {"guifg=", 5 }, { "White " }, { "guibg=", 5 }, { "Red" }}, + kind = ""} + }} + end) + it("doesn't crash with column adjustment #10069", function() feed(':let [x,y] = [1,2]') feed(':let x y') @@ -786,6 +803,7 @@ describe('ui/builtin messages', function() [2] = {foreground = Screen.colors.Grey100, background = Screen.colors.Red}, [3] = {bold = true, reverse = true}, [4] = {bold = true, foreground = Screen.colors.SeaGreen4}, + [5] = {foreground = Screen.colors.Blue1}, }) end) @@ -806,6 +824,38 @@ describe('ui/builtin messages', function() end end} end) + + it(':hi Group output', function() + screen:try_resize(70,7) + feed(':hi ErrorMsg') + screen:expect([[ + | + {1:~ }| + {1:~ }| + {3: }| + :hi ErrorMsg | + ErrorMsg {2:xxx} {5:ctermfg=}15 {5:ctermbg=}1 {5:guifg=}White {5:guibg=}Red | + {4:Press ENTER or type command to continue}^ | + ]]) + + feed('') + screen:try_resize(30,7) + feed(':hi ErrorMsg') + screen:expect([[ + :hi ErrorMsg | + ErrorMsg {2:xxx} {5:ctermfg=}15 | + {5:ctermbg=}1 | + {5:guifg=}White| + {5:guibg=}Red | + {4:Press ENTER or type command to}| + {4: continue}^ | + ]]) + feed('') + + -- screen size doesn't affect internal output #10285 + eq('ErrorMsg xxx ctermfg=15 ctermbg=1 guifg=White guibg=Red', + meths.command_output("hi ErrorMsg")) + end) end) describe('ui/ext_messages', function() -- cgit