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