Home / Class/ TestGrepEdgeCases Class — langchain Architecture

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

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