Skip to content

Commit 397d655

Browse files
authored
Merge branch 'main' into issue-266
2 parents 8a1bef3 + e2d6e27 commit 397d655

File tree

4 files changed

+20
-6
lines changed

4 files changed

+20
-6
lines changed

openapi_python_client/parser/reference.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ class Reference:
1919
def from_ref(ref: str) -> "Reference":
2020
""" Get a Reference from the openapi #/schemas/blahblah string """
2121
ref_value = ref.split("/")[-1]
22-
# ugly hack to avoid stringcase ugly pascalcase output when ref_value isn't snake case
23-
class_name = utils.pascal_case(ref_value.replace(" ", ""))
22+
class_name = utils.pascal_case(ref_value)
2423

2524
if class_name in class_overrides:
2625
return class_overrides[class_name]

openapi_python_client/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def snake_case(value: str) -> str:
2626

2727

2828
def pascal_case(value: str) -> str:
29-
return fix_keywords(stringcase.pascalcase(sanitize(value)))
29+
return fix_keywords(stringcase.pascalcase(sanitize(value.replace(" ", ""))))
3030

3131

3232
def kebab_case(value: str) -> str:

poetry.lock

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/test_utils.py

+15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import pytest
2+
13
from openapi_python_client import utils
24

35

@@ -41,3 +43,16 @@ def test_to_valid_python_identifier():
4143
assert utils.to_valid_python_identifier("1") == "field_1"
4244
assert utils.to_valid_python_identifier("$") == "field_"
4345
assert utils.to_valid_python_identifier("for") == "for_"
46+
47+
48+
@pytest.mark.parametrize(
49+
"before, after",
50+
[
51+
("PascalCase", "PascalCase"),
52+
("snake_case", "SnakeCase"),
53+
("TLAClass", "TLAClass"),
54+
("Title Case", "TitleCase"),
55+
],
56+
)
57+
def test_pascalcase(before, after):
58+
assert utils.pascal_case(before) == after

0 commit comments

Comments
 (0)