diff --git a/test/resources/repos/python/test_repo/test_repo/variables.py b/test/resources/repos/python/test_repo/test_repo/variables.py index 81d6fbde..62241660 100644 --- a/test/resources/repos/python/test_repo/test_repo/variables.py +++ b/test/resources/repos/python/test_repo/test_repo/variables.py @@ -20,7 +20,6 @@ reassignable_module_var = 20 # Reassigned typed_module_var: int = 42 -# Regular class with class and instance variables class VariableContainer: """Class that contains various variables.""" @@ -59,7 +58,6 @@ class VariableContainer: return result, other_result -# Dataclass with variables @dataclass class VariableDataclass: """Dataclass that contains various fields.""" @@ -75,7 +73,6 @@ class VariableDataclass: status: str = "pending" -# Function that uses the module variables def use_module_variables(): """Function that uses module-level variables.""" result = module_var + " used in function" diff --git a/test/serena/__snapshots__/test_symbol_editing.ambr b/test/serena/__snapshots__/test_symbol_editing.ambr index ec23cf33..7e6c6a8f 100644 --- a/test/serena/__snapshots__/test_symbol_editing.ambr +++ b/test/serena/__snapshots__/test_symbol_editing.ambr @@ -23,11 +23,6 @@ typed_module_var: int = 42 - # Regular class with class and instance variables - - - - # Dataclass with variables @dataclass class VariableDataclass: """Dataclass that contains various fields.""" @@ -43,7 +38,6 @@ status: str = "pending" - # Function that uses the module variables def use_module_variables(): """Function that uses module-level variables.""" result = module_var + " used in function" @@ -69,8 +63,6 @@ ''' import { ConsoleGreeter, Greeter } from "./formatters"; - - export function helperFunction() { const demo = new DemoClass(42); demo.printValue(); @@ -334,7 +326,6 @@ typed_module_var: int = 42 - # Regular class with class and instance variables class VariableContainer: """Class that contains various variables.""" @@ -373,7 +364,6 @@ return result, other_result - # Dataclass with variables @dataclass class VariableDataclass: """Dataclass that contains various fields.""" @@ -389,7 +379,6 @@ status: str = "pending" - # Function that uses the module variables def use_module_variables(): """Function that uses module-level variables.""" result = module_var + " used in function" @@ -438,7 +427,6 @@ typed_module_var: int = 42 - # Regular class with class and instance variables class VariableContainer: """Class that contains various variables.""" @@ -477,7 +465,6 @@ return result, other_result - # Dataclass with variables @dataclass class VariableDataclass: """Dataclass that contains various fields.""" @@ -493,7 +480,6 @@ status: str = "pending" - # Function that uses the module variables def new_inserted_function(): print("This is a new function inserted before another.") @@ -1138,7 +1124,6 @@ typed_module_var: int = 42 - # Regular class with class and instance variables class VariableContainer: """Class that contains various variables.""" @@ -1177,7 +1162,6 @@ return result, other_result - # Dataclass with variables @dataclass class VariableDataclass: """Dataclass that contains various fields.""" @@ -1197,7 +1181,6 @@ pass - # Function that uses the module variables def use_module_variables(): """Function that uses module-level variables.""" result = module_var + " used in function" @@ -1243,7 +1226,6 @@ typed_module_var: int = 42 - # Regular class with class and instance variables class VariableContainer: """Class that contains various variables.""" @@ -1282,7 +1264,6 @@ return result, other_result - # Dataclass with variables class NewInsertedClass: pass @@ -1302,7 +1283,6 @@ status: str = "pending" - # Function that uses the module variables def use_module_variables(): """Function that uses module-level variables.""" result = module_var + " used in function" @@ -1531,7 +1511,6 @@ renamed_typed_module_var: int = 42 - # Regular class with class and instance variables class VariableContainer: """Class that contains various variables.""" @@ -1570,7 +1549,6 @@ return result, other_result - # Dataclass with variables @dataclass class VariableDataclass: """Dataclass that contains various fields.""" @@ -1586,7 +1564,6 @@ status: str = "pending" - # Function that uses the module variables def use_module_variables(): """Function that uses module-level variables.""" result = module_var + " used in function" @@ -1632,7 +1609,6 @@ typed_module_var: int = 42 - # Regular class with class and instance variables class VariableContainer: """Class that contains various variables.""" @@ -1671,7 +1647,6 @@ return result, other_result - # Dataclass with variables @dataclass class VariableDataclass: """Dataclass that contains various fields.""" @@ -1687,7 +1662,6 @@ status: str = "pending" - # Function that uses the module variables def use_module_variables(): """Function that uses module-level variables.""" result = module_var + " used in function" diff --git a/test/solidlsp/python/test_symbol_retrieval.py b/test/solidlsp/python/test_symbol_retrieval.py index b95155d2..38185f31 100644 --- a/test/solidlsp/python/test_symbol_retrieval.py +++ b/test/solidlsp/python/test_symbol_retrieval.py @@ -11,6 +11,7 @@ import os import pytest from serena.symbol import LanguageServerSymbol +from serena.util.text_utils import find_text_coordinates from solidlsp import SolidLanguageServer from solidlsp.ls_types import SymbolKind from test.solidlsp.conftest import PYTHON_BACKEND_LANGUAGES @@ -40,14 +41,15 @@ class TestLanguageServerSymbols: def test_references_to_variables(self, language_server: SolidLanguageServer) -> None: """Test request_referencing_symbols for a variable.""" file_path = os.path.join("test_repo", "variables.py") - # Line 75 contains the field status that is later modified - ref_symbols = [ref.symbol for ref in language_server.request_referencing_symbols(file_path, 74, 4)] + + # find references to field `status` + with language_server.open_file(file_path, open_in_ls=False) as f: + file_content = f.contents + coords = find_text_coordinates(file_content, r"(status): str") + ref_symbols = [ref.symbol for ref in language_server.request_referencing_symbols(file_path, coords.line, coords.col)] assert len(ref_symbols) > 0 - ref_lines = [ref["location"]["range"]["start"]["line"] for ref in ref_symbols if "location" in ref and "range" in ref["location"]] ref_names = [ref["name"] for ref in ref_symbols] - assert 87 in ref_lines - assert 95 in ref_lines assert "dataclass_instance" in ref_names assert "second_dataclass" in ref_names