aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-03-14 10:03:59 +0100
committerbfredl <bjorn.linse@gmail.com>2024-03-14 14:39:08 +0100
commit0570a19c8a84debcdf2bc73f4c5f2d7d9de3ead2 (patch)
tree305bc90ee3b7aa1118d45f69dd8383c756b4b661 /test
parent8955cef0c6963678994347dbf95ed09fc8e29407 (diff)
downloadrneovim-0570a19c8a84debcdf2bc73f4c5f2d7d9de3ead2.tar.gz
rneovim-0570a19c8a84debcdf2bc73f4c5f2d7d9de3ead2.tar.bz2
rneovim-0570a19c8a84debcdf2bc73f4c5f2d7d9de3ead2.zip
fix(intro): make intro explicitly stateful
Instead of randomly disappearing because some random event might have caused mid_start or bot_scroll_start to randomly take a low value, treat intro message as a _first class stateful_ thing. This means that intro message will kept being _redrawn_ as long as we are in the state it should be shown. This also includes screen resizes. you will not lose the intro message because there was a delay in detecting terminal features.
Diffstat (limited to 'test')
-rw-r--r--test/functional/ui/messages_spec.lua44
1 files changed, 40 insertions, 4 deletions
diff --git a/test/functional/ui/messages_spec.lua b/test/functional/ui/messages_spec.lua
index c18a07fef0..131622bcc5 100644
--- a/test/functional/ui/messages_spec.lua
+++ b/test/functional/ui/messages_spec.lua
@@ -1627,13 +1627,41 @@ describe('ui/ext_messages', function()
{1:~ }|*5
]])
- feed('<c-l>')
- screen:expect([[
+ -- <c-l> (same as :mode) does _not_ clear intro message
+ feed('<c-l>i')
+ screen:expect {
+ grid = [[
^ |
+ {1:~ }|*4
+ {MATCH:.*}|
+ {1:~ }|
+ {1:~ }Nvim is open source and freely distributable{1: }|
+ {1:~ }https://neovim.io/#chat{1: }|
+ {1:~ }|
+ {1:~ }type :help nvim{5:<Enter>} if you are new! {1: }|
+ {1:~ }type :checkhealth{5:<Enter>} to optimize Nvim{1: }|
+ {1:~ }type :q{5:<Enter>} to exit {1: }|
+ {1:~ }type :help{5:<Enter>} for help {1: }|
+ {1:~ }|
+ {1:~{MATCH: +}}type :help news{5:<Enter>} to see changes in v{MATCH:%d+%.%d+}{1:{MATCH: +}}|
+ {1:~ }|
+ {MATCH:.*}|*2
+ {1:~ }|*5
+ ]],
+ showmode = { { '-- INSERT --', 3 } },
+ }
+
+ -- but editing text does..
+ feed('x')
+ screen:expect {
+ grid = [[
+ x^ |
{1:~ }|*23
- ]])
+ ]],
+ showmode = { { '-- INSERT --', 3 } },
+ }
- feed(':intro<cr>')
+ feed('<esc>:intro<cr>')
screen:expect {
grid = [[
^ |
@@ -1657,6 +1685,14 @@ describe('ui/ext_messages', function()
{ content = { { 'Press ENTER or type command to continue', 4 } }, kind = 'return_prompt' },
},
}
+
+ feed('<cr>')
+ screen:expect {
+ grid = [[
+ ^x |
+ {1:~ }|*23
+ ]],
+ }
end)
it('supports global statusline', function()