forked from loafle/openapi-generator-original
[JAVA][KOTLIN] fix var Naming for all uppercase with Numbers (#2794)
This commit is contained in:
parent
f2f12b9e04
commit
c33547e0f1
@ -607,7 +607,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
||||
}
|
||||
|
||||
// if it's all uppper case, do nothing
|
||||
if (name.matches("^[A-Z_]*$")) {
|
||||
if (name.matches("^[A-Z0-9_]*$")) {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
@ -717,7 +717,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
|
||||
}
|
||||
|
||||
// if it's all uppper case, do nothing
|
||||
if (name.matches("^[A-Z_]*$")) {
|
||||
if (name.matches("^[A-Z0-9_]*$")) {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
@ -68,20 +68,24 @@ public class AbstractJavaCodegenTest {
|
||||
|
||||
@Test
|
||||
public void convertVarName() throws Exception {
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("name"), "name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("$name"), "$name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("nam$$e"), "nam$$e");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("user-name"), "userName");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("user_name"), "userName");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("user|name"), "userName");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("name"), "name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("$name"), "$name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("nam$$e"), "nam$$e");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("user-name"), "userName");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("user_name"), "userName");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("user|name"), "userName");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("uSername"), "uSername");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("USERname"), "usERname");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("USERNAME"), "USERNAME");
|
||||
Assert.assertEquals(fakeJavaCodegen.toVarName("USER123NAME"), "USER123NAME");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertModelName() throws Exception {
|
||||
Assert.assertEquals(fakeJavaCodegen.toModelName("name"), "Name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toModelName("$name"), "Name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toModelName("nam#e"), "Name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toModelName("$another-fake?"), "AnotherFake");
|
||||
Assert.assertEquals(fakeJavaCodegen.toModelName("name"), "Name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toModelName("$name"), "Name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toModelName("nam#e"), "Name");
|
||||
Assert.assertEquals(fakeJavaCodegen.toModelName("$another-fake?"), "AnotherFake");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -448,6 +448,34 @@ public class JavaModelTest {
|
||||
Assert.assertFalse(property.isContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with upper-case property names and Numbers")
|
||||
public void upperCaseNamesNumbersTest() {
|
||||
final Schema schema = new Schema()
|
||||
.description("a model with upper-case property names and numbers")
|
||||
.addProperties("NAME1", new StringSchema())
|
||||
.addRequiredItem("NAME1");
|
||||
final DefaultCodegen codegen = new JavaClientCodegen();
|
||||
OpenAPI openAPI = TestUtils.createOpenAPIWithOneSchema("sample", schema);
|
||||
codegen.setOpenAPI(openAPI);
|
||||
final CodegenModel cm = codegen.fromModel("sample", schema);
|
||||
|
||||
Assert.assertEquals(cm.name, "sample");
|
||||
Assert.assertEquals(cm.classname, "Sample");
|
||||
Assert.assertEquals(cm.vars.size(), 1);
|
||||
|
||||
final CodegenProperty property = cm.vars.get(0);
|
||||
Assert.assertEquals(property.baseName, "NAME1");
|
||||
Assert.assertEquals(property.getter, "getNAME1");
|
||||
Assert.assertEquals(property.setter, "setNAME1");
|
||||
Assert.assertEquals(property.dataType, "String");
|
||||
Assert.assertEquals(property.name, "NAME1");
|
||||
Assert.assertEquals(property.defaultValue, null);
|
||||
Assert.assertEquals(property.baseType, "String");
|
||||
Assert.assertFalse(property.hasMore);
|
||||
Assert.assertTrue(property.required);
|
||||
Assert.assertFalse(property.isContainer);
|
||||
}
|
||||
|
||||
@Test(description = "convert a model with a 2nd char upper-case property names")
|
||||
public void secondCharUpperCaseNamesTest() {
|
||||
final Schema schema = new Schema()
|
||||
|
@ -117,6 +117,10 @@ public class AbstractKotlinCodegenTest {
|
||||
assertEquals(codegen.toVarName("Pony?"), "ponyQuestionMark");
|
||||
assertEquals(codegen.toVarName("nam#e"), "namHashE");
|
||||
assertEquals(codegen.toVarName("Pony>=>="), "ponyGreaterThanEqualGreaterThanEqual");
|
||||
assertEquals(codegen.toVarName("uSername"), "uSername");
|
||||
assertEquals(codegen.toVarName("USERname"), "usERname");
|
||||
assertEquals(codegen.toVarName("USERNAME"), "USERNAME");
|
||||
assertEquals(codegen.toVarName("USER123NAME"), "USER123NAME");
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user