forked from loafle/openapi-generator-original
fix(php): escape reserved words in enum variables names (#5356)
Signed-off-by: Vincent Giersch <vincent@giersch.fr>
This commit is contained in:
parent
c6959b0d21
commit
99f0ab496b
@ -679,8 +679,8 @@ public class PhpClientCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
enumName = enumName.replaceFirst("^_", "");
|
||||
enumName = enumName.replaceFirst("_$", "");
|
||||
|
||||
if (enumName.matches("\\d.*")) { // starts with number
|
||||
return "_" + enumName;
|
||||
if (isReservedWord(enumName) || enumName.matches("\\d.*")) { // reserved word or starts with number
|
||||
return escapeReservedWord(enumName);
|
||||
} else {
|
||||
return enumName;
|
||||
}
|
||||
|
@ -334,7 +334,15 @@ public class PhpModelTest {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test(description = "test enum variable names for reserved words")
|
||||
public void testReservedWord() throws Exception {
|
||||
final DefaultCodegen codegen = new PhpClientCodegen();
|
||||
Assert.assertEquals(codegen.toEnumVarName("public", null), "_PUBLIC");
|
||||
Assert.assertEquals(codegen.toEnumVarName("Private", null), "_PRIVATE");
|
||||
Assert.assertEquals(codegen.toEnumVarName("IF", null), "_IF");
|
||||
// should not escape non-reserved
|
||||
Assert.assertEquals(codegen.toEnumVarName("hello", null), "HELLO");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user