Skip to content

Commit 79a99d8

Browse files
fix(parse_query): make URL handling case insensitive (coderamp-labs#115)
1 parent 280e053 commit 79a99d8

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/gitingest/parse_query.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ def parse_query(
4848
A dictionary containing the parsed query parameters, including 'max_file_size',
4949
'ignore_patterns', and 'include_patterns'.
5050
"""
51+
# Normalize and clean up the source string to make it case-insensitive
52+
source = source.lower().strip()
53+
5154
# Determine the parsing method based on the source type
5255
if from_web or source.startswith("https://") or "github.com" in source:
5356
query = _parse_url(source)

tests/test_parse_query.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,16 @@ def test_parse_query_basic() -> None:
6666
assert "*.txt" in result["ignore_patterns"]
6767

6868

69+
def test_parse_query_mixed_case() -> None:
70+
"""
71+
Test `parse_query` with mixed case URLs.
72+
"""
73+
url = "Https://GitHub.COM/UsEr/rEpO"
74+
result = parse_query(url, max_file_size=50, from_web=True)
75+
assert result["user_name"] == "user"
76+
assert result["repo_name"] == "repo"
77+
78+
6979
def test_parse_query_include_pattern() -> None:
7080
"""
7181
Test `parse_query` with an include pattern.

0 commit comments

Comments
 (0)