Skip to content

Commit 666fefd

Browse files
committed
StandardExpressionFunctions#escapeがescapeCharを使用していない
1 parent 9dd2bff commit 666fefd

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

src/main/java/org/seasar/doma/jdbc/dialect/StandardDialect.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -915,16 +915,16 @@ public String escape(String text, char escapeChar) {
915915
if (text == null) {
916916
return null;
917917
}
918-
return escapeWildcard(defaultWildcardReplacementPattern, text,
919-
defaultReplacement);
918+
return escapeWildcard(text, escapeChar);
920919
}
921920

922921
@Override
923922
public String escape(String text) {
924923
if (text == null) {
925924
return null;
926925
}
927-
return escapeWildcard(text, escapeChar);
926+
return escapeWildcard(defaultWildcardReplacementPattern, text,
927+
defaultReplacement);
928928
}
929929

930930
@Override

src/test/java/org/seasar/doma/jdbc/dialect/StandardDialectTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,24 @@ public void testRemoveQuote() {
4747
assertEquals("bbb", dialect.removeQuote("bbb"));
4848
}
4949

50+
public void testExpressionFunctions_escape() throws Exception {
51+
StandardDialect dialect = new StandardDialect();
52+
ExpressionFunctions functions = dialect.getExpressionFunctions();
53+
assertEquals("a$$a$%a$_", functions.escape("a$a%a_"));
54+
}
55+
56+
public void testExpressionFunctions_escape_withExclamation() throws Exception {
57+
StandardDialect dialect = new StandardDialect();
58+
ExpressionFunctions functions = dialect.getExpressionFunctions();
59+
assertEquals("a!!a!%a!_", functions.escape("a!a%a_", '!'));
60+
}
61+
62+
public void testExpressionFunctions_escape_withBackslash() throws Exception {
63+
StandardDialect dialect = new StandardDialect();
64+
ExpressionFunctions functions = dialect.getExpressionFunctions();
65+
assertEquals("a\\\\a\\%a\\_", functions.escape("a\\a%a_", '\\'));
66+
}
67+
5068
public void testExpressionFunctions_prefix() throws Exception {
5169
StandardDialect dialect = new StandardDialect();
5270
ExpressionFunctions functions = dialect.getExpressionFunctions();

0 commit comments

Comments
 (0)