Skip to content

Commit 8c54886

Browse files
NRL-1215 Fix case sensitive detection
1 parent f017a8f commit 8c54886

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

layer/nrlf/core/json_duplicate_checker.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,16 @@
55
def check_for_duplicate_keys(pairs: list[tuple[str, Any]]) -> dict:
66
keys = {}
77
dupes = {}
8+
normalized_keys = []
89

910
for key, value in pairs:
11+
normalized_key = key.lower()
1012
print(f"Processing key: {key}, value: {value}")
11-
if key in keys:
13+
if normalized_key in normalized_keys:
1214
dupes.setdefault(key, []).append(value)
1315
else:
1416
keys[key] = value
17+
normalized_keys += [normalized_key]
1518

1619
if dupes:
1720
keys["__duplicates__"] = dupes

layer/nrlf/core/tests/test_json_duplicate_checker.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,3 +324,9 @@ def test_array_edge_case_duplicate(self):
324324
duplicates, paths = check_duplicate_keys(json_content)
325325
self.assertEqual(duplicates, ["array"])
326326
self.assertEqual(paths, ["root.array"])
327+
328+
def test_case_sensitive_keys(self):
329+
json_content = '{"a": 1, "A": 2, "aA": 3, "Aa": 4}'
330+
duplicates, paths = check_duplicate_keys(json_content)
331+
self.assertEqual(duplicates, ["A", "Aa"])
332+
self.assertEqual(paths, ["root.A", "root.Aa"])

0 commit comments

Comments
 (0)