Skip to content

Commit 20a493b

Browse files
committed
Fixed double underscore converter
1 parent f68763b commit 20a493b

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

graphene/contrib/django/filter/tests/test_fields.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ def assert_not_orderable(field):
6969
def test_filter_explicit_filterset_arguments():
7070
field = DjangoFilterConnectionField(ArticleNode, filterset_class=ArticleFilter)
7171
assert_arguments(field,
72-
'headline', 'headlineIcontains',
73-
'pubDate', 'pubDateGt', 'pubDateLt',
72+
'headline', 'headline_Icontains',
73+
'pubDate', 'pubDate_Gt', 'pubDate_Lt',
7474
'reporter',
7575
)
7676

@@ -89,7 +89,7 @@ def test_filter_shortcut_filterset_arguments_dict():
8989
'reporter': ['exact'],
9090
})
9191
assert_arguments(field,
92-
'headline', 'headlineIcontains',
92+
'headline', 'headline_Icontains',
9393
'reporter',
9494
)
9595

graphene/utils/str_converters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ def to_camel_case(snake_str):
77
components = snake_str.split('_')
88
# We capitalize the first letter of each component except the first one
99
# with the 'title' method and join them together.
10-
return components[0] + "".join(x.title() for x in components[1:])
10+
return components[0] + "".join(x.title() if x else '_' for x in components[1:])
1111

1212

1313
# From this response in Stackoverflow

graphene/utils/tests/test_str_converter.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
def test_snake_case():
55
assert to_snake_case('snakesOnAPlane') == 'snakes_on_a_plane'
66
assert to_snake_case('SnakesOnAPlane') == 'snakes_on_a_plane'
7+
assert to_snake_case('SnakesOnA_Plane') == 'snakes_on_a__plane'
78
assert to_snake_case('snakes_on_a_plane') == 'snakes_on_a_plane'
9+
assert to_snake_case('snakes_on_a__plane') == 'snakes_on_a__plane'
810
assert to_snake_case('IPhoneHysteria') == 'i_phone_hysteria'
911
assert to_snake_case('iPhoneHysteria') == 'i_phone_hysteria'
1012

1113

1214
def test_camel_case():
1315
assert to_camel_case('snakes_on_a_plane') == 'snakesOnAPlane'
16+
assert to_camel_case('snakes_on_a__plane') == 'snakesOnA_Plane'
1417
assert to_camel_case('i_phone_hysteria') == 'iPhoneHysteria'

0 commit comments

Comments
 (0)