aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/cmdline_spec.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2018-05-31 16:12:00 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2018-06-02 09:39:39 +0200
commit1efe65a1557268496cb0431edce5010fe0a91565 (patch)
tree32c998212ba893797dee1b144b80e59c2213be34 /test/functional/ui/cmdline_spec.lua
parent39a03c0fe736629cf7804dbaf9b73df60aa237cd (diff)
downloadrneovim-1efe65a1557268496cb0431edce5010fe0a91565.tar.gz
rneovim-1efe65a1557268496cb0431edce5010fe0a91565.tar.bz2
rneovim-1efe65a1557268496cb0431edce5010fe0a91565.zip
ex_getln: don't redraw statusline on top of scrolled messages
Diffstat (limited to 'test/functional/ui/cmdline_spec.lua')
-rw-r--r--test/functional/ui/cmdline_spec.lua101
1 files changed, 83 insertions, 18 deletions
diff --git a/test/functional/ui/cmdline_spec.lua b/test/functional/ui/cmdline_spec.lua
index 41c290a462..5ce49822e5 100644
--- a/test/functional/ui/cmdline_spec.lua
+++ b/test/functional/ui/cmdline_spec.lua
@@ -22,6 +22,8 @@ describe('external cmdline', function()
[1] = {bold = true, foreground = Screen.colors.Blue1},
[2] = {reverse = true},
[3] = {bold = true, reverse = true},
+ [4] = {foreground = Screen.colors.Grey100, background = Screen.colors.Red},
+ [5] = {bold = true, foreground = Screen.colors.SeaGreen4},
})
screen:set_on_event_handler(function(name, data)
if name == "cmdline_show" then
@@ -157,24 +159,87 @@ describe('external cmdline', function()
end)
end)
- it("redraws statusline on entering", function()
- command('set laststatus=2')
- command('set statusline=%{mode()}')
- feed(':')
- screen:expect([[
- |
- {1:~ }|
- {1:~ }|
- {3:c^ }|
- |
- ]], nil, nil, function()
- eq({{
- content = { { {}, "" } },
- firstc = ":",
- indent = 0,
- pos = 0,
- prompt = ""
- }}, cmdline)
+ describe("redraws statusline on entering", function()
+ before_each(function()
+ command('set laststatus=2')
+ command('set statusline=%{mode()}')
+ end)
+
+ it('from normal mode', function()
+ feed(':')
+ screen:expect([[
+ |
+ {1:~ }|
+ {1:~ }|
+ {3:c^ }|
+ |
+ ]], nil, nil, function()
+ eq({{
+ content = { { {}, "" } },
+ firstc = ":",
+ indent = 0,
+ pos = 0,
+ prompt = ""
+ }}, cmdline)
+ end)
+ end)
+
+ it('but not with scrolled messages', function()
+ screen:try_resize(50,10)
+ feed(':echoerr doesnotexist<cr>')
+ screen:expect([[
+ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {3: }|
+ {4:E121: Undefined variable: doesnotexist} |
+ {4:E15: Invalid expression: doesnotexist} |
+ {5:Press ENTER or type command to continue}^ |
+ ]])
+ feed(':echoerr doesnotexist<cr>')
+ screen:expect([[
+ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {3: }|
+ {4:E121: Undefined variable: doesnotexist} |
+ {4:E15: Invalid expression: doesnotexist} |
+ {4:E121: Undefined variable: doesnotexist} |
+ {4:E15: Invalid expression: doesnotexist} |
+ {5:Press ENTER or type command to continue}^ |
+ ]])
+
+ feed(':echoerr doesnotexist<cr>')
+ screen:expect([[
+ |
+ {1:~ }|
+ {3: }|
+ {4:E121: Undefined variable: doesnotexist} |
+ {4:E15: Invalid expression: doesnotexist} |
+ {4:E121: Undefined variable: doesnotexist} |
+ {4:E15: Invalid expression: doesnotexist} |
+ {4:E121: Undefined variable: doesnotexist} |
+ {4:E15: Invalid expression: doesnotexist} |
+ {5:Press ENTER or type command to continue}^ |
+ ]])
+
+ feed('<cr>')
+ screen:expect([[
+ ^ |
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {1:~ }|
+ {3:n }|
+ |
+ ]])
end)
end)