Skip to content

Commit 76a92f7

Browse files
committed
Merge pull request #58 from naokism/bugfix_StringUtil
StringUtilのfromCamelCaseToSnakeCaseで、カラム名に数字が含まれている場合意図している結果にならない
2 parents c80312f + a1c4914 commit 76a92f7

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/main/java/org/seasar/doma/internal/util/StringUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public static String fromCamelCaseToSnakeCase(String text) {
104104
buf.mark();
105105
if (buf.hasRemaining()) {
106106
char c2 = buf.get();
107-
if (Character.isLowerCase(c) && Character.isUpperCase(c2)) {
107+
if ((Character.isLowerCase(c) || Character.isDigit(c)) && Character.isUpperCase(c2)) {
108108
result.append("_");
109109
}
110110
buf.reset();

src/test/java/org/seasar/doma/internal/util/StringUtilTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
/**
2121
* @author taedium
22-
*
22+
*
2323
*/
2424
public class StringUtilTest extends TestCase {
2525

@@ -44,6 +44,7 @@ public void testFromCamelCaseToSnakeCase() throws Exception {
4444
assertEquals("aaa_bbb_ccc",
4545
StringUtil.fromCamelCaseToSnakeCase("aaaBbbCcc"));
4646
assertEquals("abc", StringUtil.fromCamelCaseToSnakeCase("abc"));
47+
assertEquals("aa1_bbb_ccc", StringUtil.fromCamelCaseToSnakeCase("aa1BbbCcc"));
4748
}
4849

4950
public void testIsWhitespace() throws Exception {

0 commit comments

Comments
 (0)