mirror of
https://github.com/neovim/neovim.git
synced 2025-12-12 01:22:41 +00:00
test(lsp): fix unstable tests for semantic tokens
add screen:expect() calls after insert() to make sure the screen has
been drawn before we assert the state of the semantic tokens table
(cherry picked from commit e97b6536bb)
This commit is contained in:
committed by
github-actions[bot]
parent
d7b720f3d8
commit
d6deffad57
@@ -629,6 +629,26 @@ describe('semantic token highlighting', function()
|
||||
marked = true,
|
||||
},
|
||||
},
|
||||
expected_screen = function()
|
||||
screen:expect{grid=[[
|
||||
char* {7:foo} = "\n"^; |
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
|
|
||||
]]}
|
||||
end,
|
||||
},
|
||||
{
|
||||
it = 'clangd-15 on C++',
|
||||
@@ -741,6 +761,26 @@ int main()
|
||||
marked = true,
|
||||
},
|
||||
},
|
||||
expected_screen = function()
|
||||
screen:expect{grid=[[
|
||||
#include <iostream> |
|
||||
int {8:main}() |
|
||||
{ |
|
||||
#ifdef {5:__cplusplus} |
|
||||
const int {7:x} = 1; |
|
||||
{4:std}::{2:cout} << {2:x} << {4:std}::{3:endl}; |
|
||||
{6: #else} |
|
||||
{6: comment} |
|
||||
{6: #endif} |
|
||||
^} |
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
|
|
||||
]]}
|
||||
end,
|
||||
},
|
||||
{
|
||||
it = 'sumneko_lua',
|
||||
@@ -782,6 +822,26 @@ b = "as"]],
|
||||
marked = true,
|
||||
},
|
||||
},
|
||||
expected_screen = function()
|
||||
screen:expect{grid=[[
|
||||
{6:-- comment} |
|
||||
local {7:a} = 1 |
|
||||
{2:b} = "as^" |
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
|
|
||||
]]}
|
||||
end,
|
||||
},
|
||||
{
|
||||
it = 'rust-analyzer',
|
||||
@@ -892,6 +952,26 @@ b = "as"]],
|
||||
marked = true,
|
||||
},
|
||||
},
|
||||
expected_screen = function()
|
||||
screen:expect{grid=[[
|
||||
pub fn {8:main}() { |
|
||||
break rust; |
|
||||
//{6:/ what?} |
|
||||
} |
|
||||
^ |
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
|
|
||||
]]}
|
||||
end,
|
||||
},
|
||||
}) do
|
||||
it(test.it, function()
|
||||
@@ -918,6 +998,8 @@ b = "as"]],
|
||||
|
||||
insert(test.text)
|
||||
|
||||
test.expected_screen()
|
||||
|
||||
local highlights = exec_lua([[
|
||||
local semantic_tokens = vim.lsp.semantic_tokens
|
||||
return semantic_tokens.__STHighlighter.active[bufnr].client_state[client_id].current_result.highlights
|
||||
|
||||
Reference in New Issue
Block a user