@@ -37,6 +37,7 @@ class Greeter_duplicate:
3737 files = {
3838 "src/main.py" : content ,
3939 "src/utils/helpers.py" : "# Helper functions" ,
40+ "src/utils/more/nested.py" : "# Nested module" ,
4041 "docs/README.md" : "# Documentation" ,
4142 "tsconfig.json" : "{}" ,
4243 }
@@ -112,6 +113,14 @@ def test_add_links_filepath(codebase):
112113 assert "|src/utils/helpers.py>" in result
113114
114115
116+ def test_add_links_directory (codebase ):
117+ """Test adding links for directories."""
118+ message = "Look in the `src/utils` directory and `src/utils/more`"
119+ result = add_links_to_message (message , codebase )
120+ assert "|src/utils>" in result
121+ assert "|src/utils/more>" in result
122+
123+
115124def test_add_links_filepath_with_extension (codebase ):
116125 """Test adding links for files with common extensions."""
117126 message = "See `tsconfig.json` and `docs/README.md`"
@@ -127,6 +136,13 @@ def test_nonexistent_filepath(codebase):
127136 assert result == message # Message should remain unchanged
128137
129138
139+ def test_nonexistent_directory (codebase ):
140+ """Test handling of nonexistent directories."""
141+ message = "This `src/nonexistent/dir` should not be linked"
142+ result = add_links_to_message (message , codebase )
143+ assert result == message # Message should remain unchanged
144+
145+
130146def test_ignore_code_blocks (codebase ):
131147 """Test that code blocks are ignored."""
132148 message = """Here's a code block:
@@ -163,8 +179,10 @@ def test_mixed_content(codebase):
163179 message = """Here's a complex message:
164180- Valid symbol: `hello`
165181- Valid file: `src/main.py`
182+ - Valid directory: `src/utils`
166183- Invalid symbol: `nonexistent`
167184- Invalid file: `src/nonexistent.py`
185+ - Invalid directory: `src/nonexistent/dir`
168186- Code block:
169187```python
170188def hello():
@@ -184,9 +202,13 @@ def hello():
184202 assert "|src/main.py>" in result
185203 assert "|docs/README.md>" in result
186204
205+ # Valid directories should be linked
206+ assert "|src/utils>" in result
207+
187208 # Invalid symbols and files should remain as-is
188209 assert "`nonexistent`" in result
189210 assert "`src/nonexistent.py`" in result
211+ assert "`src/nonexistent/dir`" in result
190212 assert "`hello_duplicate`" in result
191213
192214 # Code block should be preserved
0 commit comments