Merge pull request #4050 from mbohlool/issue2657

Fix sanitizeTag to retain numbers and underscore in tag names
This commit is contained in:
wing328 2016-10-22 22:59:09 +08:00 committed by GitHub
commit 92c474b2c2
2 changed files with 17 additions and 1 deletions

View File

@ -3171,7 +3171,12 @@ public class DefaultCodegen {
buf.append(StringUtils.capitalize(part));
}
}
return buf.toString().replaceAll("[^a-zA-Z ]", "");
String returnTag = buf.toString().replaceAll("[^a-zA-Z0-9_]", "");
if (returnTag.matches("\\d.*")) {
return "_" + returnTag;
} else {
return returnTag;
}
}
/**

View File

@ -13,6 +13,17 @@ import java.util.List;
public class CodegenTest {
@Test(description = "test sanitizeTag")
public void sanitizeTagTest() {
final DefaultCodegen codegen = new DefaultCodegen();
Assert.assertEquals(codegen.sanitizeTag("foo"), "Foo");
Assert.assertEquals(codegen.sanitizeTag("foo bar"), "FooBar");
Assert.assertEquals(codegen.sanitizeTag("foo_bar"), "Foo_bar");
Assert.assertEquals(codegen.sanitizeTag("foo1 bar2"), "Foo1Bar2");
Assert.assertEquals(codegen.sanitizeTag("foo bar 1"), "FooBar1");
Assert.assertEquals(codegen.sanitizeTag("1foo"), "_1foo");
}
@Test(description = "read a file upload param from a 2.0 spec")
public void fileUploadParamTest() {
final Swagger model = parseAndPrepareSwagger("src/test/resources/2_0/petstore.json");