From 005d5b023280aa5964de56dc8b0813e347abd4cf Mon Sep 17 00:00:00 2001 From: Luke Tudge Date: Wed, 10 Jul 2024 11:02:48 +0200 Subject: [PATCH] codegen: add == -> 'Double_Equal' to specialCharReplacements (#19125) * codegen: add == -> 'Double_Equal' to specialCharReplacements The double equal '==' is a common operator in a few contexts (specific use case for me is haystack operators). Currently if this value appears in an enum its name gets sanitized to empty and generates invalid syntax. Very similar to https://github.com/OpenAPITools/openapi-generator/pull/12801 * makes java underscore test more flexible Given the name and purpose of this test, maybe it is better to test that the generated value is not an underscore rather than to test that it _is_ a specific (and possibly arbitrary) substitute value. --- .../main/java/org/openapitools/codegen/DefaultCodegen.java | 1 + .../openapitools/codegen/java/AbstractJavaCodegenTest.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index e57e31224c2..901696e1918 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -1833,6 +1833,7 @@ public class DefaultCodegen implements CodegenConfig { specialCharReplacements.put("!=", "Not_Equal"); specialCharReplacements.put("<>", "Not_Equal"); specialCharReplacements.put("~=", "Tilde_Equal"); + specialCharReplacements.put("==", "Double_Equal"); } /** diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java index a8ab5f30ee1..5f58dc56c79 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java @@ -80,8 +80,8 @@ public class AbstractJavaCodegenTest { */ @Test public void toEnumVarNameShouldNotResultInSingleUnderscore() { - Assert.assertEquals(codegen.toEnumVarName(" ", "String"), "SPACE"); - Assert.assertEquals(codegen.toEnumVarName("==", "String"), "u"); + Assert.assertNotEquals(codegen.toEnumVarName(" ", "String"), "_"); + Assert.assertNotEquals(codegen.toEnumVarName("==", "String"), "_"); } @Test