neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 37d6ac8a15a97e54c1e75718e146cb6d1b6f74bd
parent 1abcd9fe28b1fd73e848ccd5092369640004efb6
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Wed, 11 Jun 2025 09:56:12 +0800

test(screen): still match by full row when {MATCH:} is present (#34437)

Add '^' and '$' around the pattern. This makes it less likely to make
mistakes of when writing tests with {MATCH:}, as most such tests have
text before and after {MATCH:}.
Diffstat:
Mtest/functional/terminal/tui_spec.lua | 4+++-
Mtest/functional/ui/screen.lua | 1+
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/test/functional/terminal/tui_spec.lua b/test/functional/terminal/tui_spec.lua @@ -113,11 +113,13 @@ describe('TUI :detach', function() nvim_set .. ' notermguicolors laststatus=2 background=dark', }, job_opts) + --- FIXME: On Windows spaces at the end of a screen line may have wrong attrs. + --- Remove the {MATCH:} when that's fixed. tt.feed_data('iHello, World') screen:expect([[ Hello, World^ | {4:~ }|*3 - {MATCH:No Name} + {5:[No Name] [+]{MATCH: *}}{MATCH: *}| {3:-- INSERT --} | {3:-- TERMINAL --} | ]]) diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua @@ -586,6 +586,7 @@ function Screen:expect(expected, attr_ids, ...) after = after:sub(e + 1) end end + pat = pat and '^' .. pat .. '$' if row ~= actual_rows[i] and (not pat or not actual_rows[i]:match(pat)) then msg_expected_rows[i] = '*' .. msg_expected_rows[i] if i <= #actual_rows then