@@ -138,6 +138,40 @@ def test_get_dict_from_params():
138138 "desc3" : "hi" ,
139139 }
140140
141+ # Test space after comma - this tests the regex pattern fix that allows spaces after commas
142+ params = "key1=value1, key2=value2, key3=value3"
143+ result = utils .get_dict_from_params (params )
144+ assert result == {"key1" : "value1" , "key2" : "value2" , "key3" : "value3" }
145+
146+ # Test multiple spaces after comma
147+ params = "key1=value1, key2=value2, key3=value3"
148+ result = utils .get_dict_from_params (params )
149+ assert result == {"key1" : "value1" , "key2" : "value2" , "key3" : "value3" }
150+
151+ # Test mixed spacing (some with spaces, some without)
152+ params = "key1=value1,key2=value2, key3=value3, key4=value4"
153+ result = utils .get_dict_from_params (params )
154+ assert result == {"key1" : "value1" , "key2" : "value2" , "key3" : "value3" , "key4" : "value4" }
155+
156+ # Test with nested keys and spaces
157+ params = "key1.sub1=value1, key1.sub2=value2, key2=value3"
158+ result = utils .get_dict_from_params (params )
159+ assert result == {"key1" : {"sub1" : "value1" , "sub2" : "value2" }, "key2" : "value3" }
160+
161+ # Test with complex values and spaces
162+ params = 'key1={"nested": "value"}, key2=[1,2,3], key3=simple'
163+ result = utils .get_dict_from_params (params )
164+ assert result == {
165+ "key1" : '{nested: value}' ,
166+ "key2" : "[1,2,3]" ,
167+ "key3" : "simple"
168+ }
169+
170+ # Test tabs and mixed whitespace after comma
171+ params = "key1=value1,\t key2=value2,\n key3=value3"
172+ result = utils .get_dict_from_params (params )
173+ assert result == {"key1" : "value1" , "key2" : "value2" , "key3" : "value3" }
174+
141175
142176def test_merge_dicts ():
143177 dict1 = {"key1" : "value1" , "key2" : {"key1" : "value2" }}
0 commit comments