diff options
-rw-r--r-- | test/functional/terminal/tui_spec.lua | 41 |
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 |