Skip to content

Commit 06eaab2

Browse files
renatomameliRenato Mameli
authored and
Renato Mameli
committed
Add missing underscores for PascalCase enum values #4837
1 parent dec8a43 commit 06eaab2

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2039,7 +2039,7 @@ public String toEnumVarName(String value, String datatype) {
20392039
}
20402040

20412041
// string
2042-
String var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT);
2042+
String var = underscore(value.replaceAll("\\W+", "_")).toUpperCase(Locale.ROOT);
20432043
if (var.matches("\\d.*")) {
20442044
var = "_" + var;
20452045
}

modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@ public void toEnumVarNameShouldNotResultInSingleUnderscore() throws Exception {
6161
Assert.assertEquals(fakeJavaCodegen.toEnumVarName("==", "String"), "u");
6262
}
6363

64+
@Test
65+
public void toEnumVarNameAddUnderscoresIfValueIsPascalCase() {
66+
Assert.assertEquals(fakeJavaCodegen.toEnumVarName("OnlyCamelCase", "String"), "ONLY_CAMEL_CASE");
67+
Assert.assertEquals(fakeJavaCodegen.toEnumVarName("WithNumber1", "String"), "WITH_NUMBER1");
68+
Assert.assertEquals(fakeJavaCodegen.toEnumVarName("_LeadingUnderscore", "String"), "_LEADING_UNDERSCORE");
69+
}
70+
6471
@Test
6572
public void toVarNameShouldAvoidOverloadingGetClassMethod() throws Exception {
6673
Assert.assertEquals(fakeJavaCodegen.toVarName("class"), "propertyClass");

0 commit comments

Comments
 (0)