mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-14 12:17:02 +00:00
Introduce abstraction DocumentSymbols, which is now returned by request_document_symbols
This commit is contained in:
1 parent
24ea449abf
commit
d8cac3aedb
43 files changed
+198
-165
No files matched your search
@@ -25,7 +25,7 @@ class TestElixirBasic:
|
||||
def test_request_references_function_definition(self, language_server: SolidLanguageServer):
|
||||
"""Test finding references to a function definition."""
|
||||
file_path = os.path.join("lib", "models.ex")
|
||||
symbols = language_server.request_document_symbols(file_path)
|
||||
symbols = language_server.request_document_symbols(file_path).get_all_symbols_and_roots()
|
||||
|
||||
# Find the User module's 'new' function
|
||||
user_new_symbol = None
|
||||
@@ -54,7 +54,7 @@ class TestElixirBasic:
|
||||
def test_request_references_create_user_function(self, language_server: SolidLanguageServer):
|
||||
"""Test finding references to create_user function."""
|
||||
file_path = os.path.join("lib", "services.ex")
|
||||
symbols = language_server.request_document_symbols(file_path)
|
||||
symbols = language_server.request_document_symbols(file_path).get_all_symbols_and_roots()
|
||||
|
||||
# Find the UserService module's 'create_user' function
|
||||
create_user_symbol = None
|
||||
@@ -79,7 +79,7 @@ class TestElixirBasic:
|
||||
def test_request_referencing_symbols_function(self, language_server: SolidLanguageServer):
|
||||
"""Test finding symbols that reference a specific function."""
|
||||
file_path = os.path.join("lib", "models.ex")
|
||||
symbols = language_server.request_document_symbols(file_path)
|
||||
symbols = language_server.request_document_symbols(file_path).get_all_symbols_and_roots()
|
||||
|
||||
# Find the User module's 'new' function
|
||||
user_new_symbol = None
|
||||
@@ -103,10 +103,10 @@ class TestElixirBasic:
|
||||
def test_timeout_enumeration_bug(self, language_server: SolidLanguageServer):
|
||||
"""Test that enumeration doesn't timeout (regression test)."""
|
||||
# This should complete without timing out
|
||||
symbols = language_server.request_document_symbols("lib/models.ex")
|
||||
symbols = language_server.request_document_symbols("lib/models.ex").get_all_symbols_and_roots()
|
||||
assert symbols is not None
|
||||
|
||||
# Test multiple symbol requests in succession
|
||||
for _ in range(3):
|
||||
symbols = language_server.request_document_symbols("lib/services.ex")
|
||||
symbols = language_server.request_document_symbols("lib/services.ex").get_all_symbols_and_roots()
|
||||
assert symbols is not None
|
||||
@@ -46,7 +46,7 @@ def test_find_references_ignores_dir(ls_with_ignored_dirs: SolidLanguageServer):
|
||||
definition_file = "lib/models.ex"
|
||||
|
||||
# Find the User struct definition
|
||||
symbols = ls_with_ignored_dirs.request_document_symbols(definition_file)
|
||||
symbols = ls_with_ignored_dirs.request_document_symbols(definition_file).get_all_symbols_and_roots()
|
||||
user_symbol = None
|
||||
for symbol_group in symbols:
|
||||
user_symbol = next((s for s in symbol_group if "User" in s.get("name", "")), None)
|
||||
@@ -87,7 +87,7 @@ def test_refs_and_symbols_with_glob_patterns(repo_path: Path) -> None:
|
||||
definition_file = "lib/models.ex"
|
||||
|
||||
# Find the User struct definition
|
||||
symbols = ls.request_document_symbols(definition_file)
|
||||
symbols = ls.request_document_symbols(definition_file).get_all_symbols_and_roots()
|
||||
user_symbol = None
|
||||
for symbol_group in symbols:
|
||||
user_symbol = next((s for s in symbol_group if "User" in s.get("name", "")), None)
|
||||
|
||||
@@ -72,7 +72,7 @@ class TestElixirIntegration:
|
||||
def test_module_hierarchy_understanding(self, language_server: SolidLanguageServer):
|
||||
"""Test that the language server understands Elixir module hierarchy."""
|
||||
models_file = os.path.join("lib", "models.ex")
|
||||
symbols = language_server.request_document_symbols(models_file)
|
||||
symbols = language_server.request_document_symbols(models_file).get_all_symbols_and_roots()
|
||||
|
||||
if symbols:
|
||||
# Flatten symbol structure
|
||||
|
||||
@@ -120,7 +120,7 @@ class TestElixirLanguageServerSymbols:
|
||||
# Test referencing symbols for User struct
|
||||
file_path = os.path.join("lib", "models.ex")
|
||||
|
||||
symbols = language_server.request_document_symbols(file_path)
|
||||
symbols = language_server.request_document_symbols(file_path).get_all_symbols_and_roots()
|
||||
user_symbol = None
|
||||
for symbol_group in symbols:
|
||||
user_symbol = next((s for s in symbol_group if "User" in s.get("name", "")), None)
|
||||
|
||||
Reference in new issue
Block a user