fix: normalize generated whitespace
Some checks failed
CI / test (push) Has been cancelled
CI / test (pull_request) Has been cancelled

This commit is contained in:
Christian Meyer
2026-08-31 11:44:23 +02:00
parent cf1d8acb45
commit 1097fa7ae2
5 changed files with 134 additions and 1 deletions

View File

@@ -9,6 +9,57 @@ from lai_automation.git import GitWorkspace
from lai_automation.models import ChangeSummary
def test_normalize_changed_whitespace_cleans_new_text_file(
settings,
tmp_path: Path,
) -> None:
workspace = GitWorkspace(replace(settings, workspace_root=tmp_path), 1)
workspace.path.mkdir(parents=True)
changed = workspace.path / "new.php"
changed.write_bytes(b"<?php \r\nreturn true;\t")
workspace._git = Mock(
side_effect=[
subprocess.CompletedProcess([], 0, "", ""),
subprocess.CompletedProcess([], 0, "new.php\n", ""),
]
)
normalized = workspace.normalize_changed_whitespace(
ChangeSummary(("new.php",), 2, 0)
)
assert normalized == ("new.php",)
assert changed.read_bytes() == b"<?php\r\nreturn true;"
def test_normalize_changed_whitespace_only_cleans_reported_tracked_lines(
settings,
tmp_path: Path,
) -> None:
workspace = GitWorkspace(replace(settings, workspace_root=tmp_path), 1)
workspace.path.mkdir(parents=True)
changed = workspace.path / "tracked.php"
changed.write_bytes(b"<?php \nlegacy whitespace \n")
workspace._git = Mock(
side_effect=[
subprocess.CalledProcessError(
2,
["git", "diff", "--check"],
output="tracked.php:1: trailing whitespace.\n",
stderr="",
),
subprocess.CompletedProcess([], 0, "", ""),
]
)
normalized = workspace.normalize_changed_whitespace(
ChangeSummary(("tracked.php",), 1, 1)
)
assert normalized == ("tracked.php",)
assert changed.read_bytes() == b"<?php\nlegacy whitespace \n"
def test_check_diff_accepts_clean_changed_file(settings, tmp_path: Path) -> None:
workspace = GitWorkspace(replace(settings, workspace_root=tmp_path), 1)
workspace.path.mkdir(parents=True)