aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/functional/terminal/tui_spec.lua41
1 files changed, 16 insertions, 25 deletions
diff --git a/test/functional/terminal/tui_spec.lua b/test/functional/terminal/tui_spec.lua
index 2017c57828..9d0eb5e40e 100644
--- a/test/functional/terminal/tui_spec.lua
+++ b/test/functional/terminal/tui_spec.lua
@@ -859,32 +859,23 @@ describe('TUI background color', function()
local function assert_bg(color, bg)
it('handles '..color..' as '..bg, function()
- feed_data('\027:autocmd OptionSet background :echo &background\n')
-
- -- Wait for the child Nvim to register the OptionSet handler.
- feed_data('\027:autocmd OptionSet\n')
- screen:expect({any='--- Autocommands ---'})
-
- feed_data('\012') -- CTRL-L: clear the screen
- local expected_grid = [[
- {1: } |
- {4:~ }|
- {4:~ }|
- {4:~ }|
- {5:[No Name] 0,0-1 All}|
- %-5s |
- {3:-- TERMINAL --} |
- ]]
- screen:expect(string.format(expected_grid, ''))
-
feed_data('\027]11;rgb:'..color..'\007')
- -- Because bg=dark is the default, we do NOT expect OptionSet event.
- if bg == 'dark' then
- screen:expect{unchanged=true,
- grid=string.format(expected_grid, '')}
- else
- screen:expect(string.format(expected_grid, bg))
- end
+ -- Retry until the terminal response is handled.
+ retry(100, nil, function()
+ feed_data(':echo &background\n')
+ screen:expect({
+ timeout=40,
+ grid=string.format([[
+ {1: } |
+ {4:~ }|
+ {4:~ }|
+ {4:~ }|
+ {5:[No Name] 0,0-1 All}|
+ %-5s |
+ {3:-- TERMINAL --} |
+ ]], bg)
+ })
+ end)
end)
end