From 7f1f4c224817d473b49f2e589d0fb7e608ecfca1 Mon Sep 17 00:00:00 2001 From: Farukest Date: Sun, 1 Mar 2026 02:42:15 +0300 Subject: [PATCH] fix(tools): preserve empty content in ReadResult.to_dict() --- tests/tools/test_file_operations.py | 10 +++++++++- tools/file_operations.py | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/tools/test_file_operations.py b/tests/tools/test_file_operations.py index ac490683c..b427826e5 100644 --- a/tests/tools/test_file_operations.py +++ b/tests/tools/test_file_operations.py @@ -67,10 +67,18 @@ class TestReadResult: def test_to_dict_omits_defaults(self): r = ReadResult() d = r.to_dict() - assert "content" not in d # empty string omitted assert "error" not in d # None omitted assert "similar_files" not in d # empty list omitted + def test_to_dict_preserves_empty_content(self): + """Empty file should still have content key in the dict.""" + r = ReadResult(content="", total_lines=0, file_size=0) + d = r.to_dict() + assert "content" in d + assert d["content"] == "" + assert d["total_lines"] == 0 + assert d["file_size"] == 0 + def test_to_dict_includes_values(self): r = ReadResult(content="hello", total_lines=10, file_size=50, truncated=True) d = r.to_dict() diff --git a/tools/file_operations.py b/tools/file_operations.py index 8505444f0..3649b9ef0 100644 --- a/tools/file_operations.py +++ b/tools/file_operations.py @@ -107,7 +107,7 @@ class ReadResult: similar_files: List[str] = field(default_factory=list) def to_dict(self) -> dict: - return {k: v for k, v in self.__dict__.items() if v is not None and v != [] and v != ""} + return {k: v for k, v in self.__dict__.items() if v is not None and v != []} @dataclass