TestGrepEdgeCases Class — langchain Architecture
Architecture documentation for the TestGrepEdgeCases class in test_file_search.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 4f81b5ee_096d_b9d6_73a1_343fbdcd7d93["TestGrepEdgeCases"] 5e183a7b_f937_e2fe_e90a_7c6aea33188b["StructuredTool"] 4f81b5ee_096d_b9d6_73a1_343fbdcd7d93 -->|extends| 5e183a7b_f937_e2fe_e90a_7c6aea33188b fd751914_766d_3dc6_73f9_3e0a51985938["test_file_search.py"] 4f81b5ee_096d_b9d6_73a1_343fbdcd7d93 -->|defined in| fd751914_766d_3dc6_73f9_3e0a51985938 b0da9bdc_c6ba_8847_545f_5b6f0c284f01["test_grep_with_special_chars_in_pattern()"] 4f81b5ee_096d_b9d6_73a1_343fbdcd7d93 -->|method| b0da9bdc_c6ba_8847_545f_5b6f0c284f01 b2597b97_d973_1504_566a_9229e0b6031f["test_grep_case_insensitive()"] 4f81b5ee_096d_b9d6_73a1_343fbdcd7d93 -->|method| b2597b97_d973_1504_566a_9229e0b6031f 4c1da238_8d9c_2a87_62f6_34c6c8c48a02["test_grep_with_large_file_skipping()"] 4f81b5ee_096d_b9d6_73a1_343fbdcd7d93 -->|method| 4c1da238_8d9c_2a87_62f6_34c6c8c48a02
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_file_search.py lines 360–405
class TestGrepEdgeCases:
"""Tests for edge cases in grep search."""
def test_grep_with_special_chars_in_pattern(self, tmp_path: Path) -> None:
"""Test grep with special characters in pattern."""
(tmp_path / "test.py").write_text("def test():\n pass\n", encoding="utf-8")
middleware = FilesystemFileSearchMiddleware(root_path=str(tmp_path), use_ripgrep=False)
assert isinstance(middleware.grep_search, StructuredTool)
assert middleware.grep_search.func is not None
result = middleware.grep_search.func(pattern="def.*:")
assert "/test.py" in result
def test_grep_case_insensitive(self, tmp_path: Path) -> None:
"""Test grep with case-insensitive search."""
(tmp_path / "test.py").write_text("HELLO world\n", encoding="utf-8")
middleware = FilesystemFileSearchMiddleware(root_path=str(tmp_path), use_ripgrep=False)
assert isinstance(middleware.grep_search, StructuredTool)
assert middleware.grep_search.func is not None
result = middleware.grep_search.func(pattern="(?i)hello")
assert "/test.py" in result
def test_grep_with_large_file_skipping(self, tmp_path: Path) -> None:
"""Test that grep skips files larger than max_file_size_mb."""
# Create a file larger than 1MB
large_content = "x" * (2 * 1024 * 1024) # 2MB
(tmp_path / "large.txt").write_text(large_content, encoding="utf-8")
(tmp_path / "small.txt").write_text("x", encoding="utf-8")
middleware = FilesystemFileSearchMiddleware(
root_path=str(tmp_path),
use_ripgrep=False,
max_file_size_mb=1, # 1MB limit
)
assert isinstance(middleware.grep_search, StructuredTool)
assert middleware.grep_search.func is not None
result = middleware.grep_search.func(pattern="x")
# Large file should be skipped
assert "/small.txt" in result
Extends
Source
Frequently Asked Questions
What is the TestGrepEdgeCases class?
TestGrepEdgeCases is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_file_search.py.
Where is TestGrepEdgeCases defined?
TestGrepEdgeCases is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_file_search.py at line 360.
What does TestGrepEdgeCases extend?
TestGrepEdgeCases extends StructuredTool.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free