diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-09-20 21:58:39 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-20 21:58:39 +0800 |
commit | cfdc93e8ac3e6c1577f1582c4b9546c118aa7987 (patch) | |
tree | 146f7c40c982431dd790164bbbc7793893ae9b27 /test/functional/legacy/messages_spec.lua | |
parent | 86c5d761c4752c44acb0eb4ce7e7b41be3408969 (diff) | |
download | rneovim-cfdc93e8ac3e6c1577f1582c4b9546c118aa7987.tar.gz rneovim-cfdc93e8ac3e6c1577f1582c4b9546c118aa7987.tar.bz2 rneovim-cfdc93e8ac3e6c1577f1582c4b9546c118aa7987.zip |
vim-patch:9.0.0511: unnecessary scrolling for message of only one line (#20261)
Problem: Unnecessary scrolling for message of only one line.
Solution: Only set msg_scroll when needed. (closes vim/vim#11178)
https://github.com/vim/vim/commit/bdedd2bcce3a59028c7504a397ff77d901b1b12a
Diffstat (limited to 'test/functional/legacy/messages_spec.lua')
-rw-r--r-- | test/functional/legacy/messages_spec.lua | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/functional/legacy/messages_spec.lua b/test/functional/legacy/messages_spec.lua index 159cf7a551..c76ce62ef0 100644 --- a/test/functional/legacy/messages_spec.lua +++ b/test/functional/legacy/messages_spec.lua @@ -10,6 +10,43 @@ before_each(clear) describe('messages', function() local screen + -- oldtest: Test_warning_scroll() + it('a warning causes scrolling if and only if it has a stacktrace', function() + screen = Screen.new(75, 6) + screen:set_default_attr_ids({ + [0] = {bold = true, foreground = Screen.colors.Blue}, -- NonText + [1] = {bold = true, foreground = Screen.colors.SeaGreen}, -- MoreMsg + [2] = {bold = true, reverse = true}, -- MsgSeparator + [3] = {foreground = Screen.colors.Red}, -- WarningMsg + }) + screen:attach() + + -- When the warning comes from a script, messages are scrolled so that the + -- stacktrace is visible. + -- It is a bit hard to assert the screen when sourcing a script, so skip this part. + + -- When the warning does not come from a script, messages are not scrolled. + command('enew') + command('set readonly') + feed('u') + screen:expect({grid = [[ + | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + {3:W10: Warning: Changing a readonly file}^ | + ]], timeout = 500}) + screen:expect([[ + ^ | + {0:~ }| + {0:~ }| + {0:~ }| + {0:~ }| + Already at oldest change | + ]]) + end) + describe('more prompt', function() before_each(function() screen = Screen.new(75, 6) |