forked from loafle/openapi-generator-original
[KOTLIN] fix var name not correctly sanitized (#2537)
This commit is contained in:
parent
09ba78b26a
commit
cd6779584f
@ -705,6 +705,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
|
||||
@Override
|
||||
public String toVarName(String name) {
|
||||
// sanitize name
|
||||
name = sanitizeKotlinSpecificNames(name);
|
||||
name = sanitizeName(name, "\\W-[\\$]");
|
||||
|
||||
if (name.toLowerCase(Locale.ROOT).matches("^_*class$")) {
|
||||
|
@ -22,7 +22,7 @@ class {{classname}}(basePath: kotlin.String = "{{{basePath}}}") : ApiClient(base
|
||||
@Suppress("UNCHECKED_CAST"){{/returnType}}
|
||||
fun {{operationId}}({{#allParams}}{{paramName}}: {{{dataType}}}{{^required}}?{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) : {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Unit{{/returnType}} {
|
||||
val localVariableBody: kotlin.Any? = {{#hasBodyParam}}{{#bodyParams}}{{paramName}}{{/bodyParams}}{{/hasBodyParam}}{{^hasBodyParam}}{{^hasFormParams}}null{{/hasFormParams}}{{#hasFormParams}}mapOf({{#formParams}}"{{{baseName}}}" to "${{paramName}}"{{#hasMore}}, {{/hasMore}}{{/formParams}}){{/hasFormParams}}{{/hasBodyParam}}
|
||||
val localVariableQuery: MultiValueMap = {{^hasQueryParams}}mapOf(){{/hasQueryParams}}{{#hasQueryParams}}mapOf({{#queryParams}}"{{baseName}}" to {{#isContainer}}toMultiValue({{paramName}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf("${{paramName}}"){{/isContainer}}{{#hasMore}}, {{/hasMore}}{{/queryParams}}){{/hasQueryParams}}
|
||||
val localVariableQuery: MultiValueMap = {{^hasQueryParams}}mapOf(){{/hasQueryParams}}{{#hasQueryParams}}mapOf({{#queryParams}}"{{paramName}}" to {{#isContainer}}toMultiValue({{paramName}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf("${{paramName}}"){{/isContainer}}{{#hasMore}}, {{/hasMore}}{{/queryParams}}){{/hasQueryParams}}
|
||||
val localVariableHeaders: kotlin.collections.Map<kotlin.String,kotlin.String> = mapOf({{#hasFormParams}}"Content-Type" to "multipart/form-data"{{/hasFormParams}}{{^hasHeaderParams}}){{/hasHeaderParams}}{{#hasHeaderParams}}{{#hasFormParams}}, {{/hasFormParams}}{{#headerParams}}"{{baseName}}" to {{#isContainer}}{{paramName}}.joinToString(separator = collectionDelimiter("{{collectionFormat}}")){{/isContainer}}{{^isContainer}}{{paramName}}.toString(){{/isContainer}}{{#hasMore}}, {{/hasMore}}{{/headerParams}}){{/hasHeaderParams}}
|
||||
val localVariableConfig = RequestConfig(
|
||||
RequestMethod.{{httpMethod}},
|
||||
|
@ -96,7 +96,7 @@ public class AbstractKotlinCodegenTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void escapeSpecialCharactersCamelize() {
|
||||
public void convertModelName() {
|
||||
assertEquals(codegen.toModelName("$"), "Dollar");
|
||||
assertEquals(codegen.toModelName("$$"), "DollarDollar");
|
||||
assertEquals(codegen.toModelName("Pony?"), "PonyQuestionMark");
|
||||
@ -105,4 +105,18 @@ public class AbstractKotlinCodegenTest {
|
||||
assertEquals(codegen.toModelName("$another-fake?"), "DollarAnotherMinusFakeQuestionMark");
|
||||
assertEquals(codegen.toModelName("Pony>=>="), "PonyGreaterThanEqualGreaterThanEqual");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertVarName() throws Exception {
|
||||
assertEquals(codegen.toVarName("name"), "name");
|
||||
assertEquals(codegen.toVarName("$name"), "dollarName");
|
||||
assertEquals(codegen.toVarName("nam$$e"), "namDollarDollarE");
|
||||
assertEquals(codegen.toVarName("user-name"), "userMinusName");
|
||||
assertEquals(codegen.toVarName("user_name"), "userName");
|
||||
assertEquals(codegen.toVarName("user|name"), "userPipeName");
|
||||
assertEquals(codegen.toVarName("Pony?"), "ponyQuestionMark");
|
||||
assertEquals(codegen.toVarName("nam#e"), "namHashE");
|
||||
assertEquals(codegen.toVarName("Pony>=>="), "ponyGreaterThanEqualGreaterThanEqual");
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user