mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-05 07:01:01 +00:00
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
@ -315,7 +315,7 @@ public class PhpClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String escapeReservedWord(String name) {
|
public String escapeReservedWord(String name) {
|
||||||
if(this.reservedWordsMappings().containsKey(name)) {
|
if(this.reservedWordsMappings().containsKey(name)) {
|
||||||
return this.reservedWordsMappings().get(name);
|
return this.reservedWordsMappings().get(name);
|
||||||
}
|
}
|
||||||
@ -679,8 +679,8 @@ public class PhpClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
enumName = enumName.replaceFirst("^_", "");
|
enumName = enumName.replaceFirst("^_", "");
|
||||||
enumName = enumName.replaceFirst("_$", "");
|
enumName = enumName.replaceFirst("_$", "");
|
||||||
|
|
||||||
if (enumName.matches("\\d.*")) { // starts with number
|
if (isReservedWord(enumName) || enumName.matches("\\d.*")) { // reserved word or starts with number
|
||||||
return "_" + enumName;
|
return escapeReservedWord(enumName);
|
||||||
} else {
|
} else {
|
||||||
return enumName;
|
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