Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions tests/test_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -1009,3 +1009,33 @@ def patched_read_text(self, *args, **kwargs):
errors = validate_init_file(init_file)
assert len(errors) > 0
assert "Permission denied" in errors[0]


def test_has_preserved_definition_function(generator: CodeGenerator):
"""Test _has_preserved_definition detects a function."""
assert generator._has_preserved_definition("def my_func(): pass", "my_func")
assert not generator._has_preserved_definition("def my_func(): pass", "other_func")

def test_has_preserved_definition_async_function(generator: CodeGenerator):
"""Test _has_preserved_definition detects an async function."""
assert generator._has_preserved_definition("async def my_async_func(): pass", "my_async_func")

def test_has_preserved_definition_assign(generator: CodeGenerator):
"""Test _has_preserved_definition detects a variable assignment."""
assert generator._has_preserved_definition("my_var = 1", "my_var")
assert generator._has_preserved_definition("my_var = my_other_var = 1", "my_var")
assert generator._has_preserved_definition("my_var = my_other_var = 1", "my_other_var")

def test_has_preserved_definition_ann_assign(generator: CodeGenerator):
"""Test _has_preserved_definition detects an annotated assignment."""
assert generator._has_preserved_definition("my_var: int = 1", "my_var")
assert not generator._has_preserved_definition("my_var: int = 1", "other_var")

def test_has_preserved_definition_syntax_error(generator: CodeGenerator):
"""Test _has_preserved_definition handles syntax errors gracefully."""
# Invalid syntax will be suppressed, resulting in False
assert not generator._has_preserved_definition("def my_func(:: pass", "my_func")

Comment on lines +1013 to +1038
def test_has_preserved_definition_empty(generator: CodeGenerator):
"""Test _has_preserved_definition handles empty preserved sections."""
assert not generator._has_preserved_definition("", "my_func")
Loading