This is an automated email from the ASF dual-hosted git repository.
aadamchik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new 121ce8e39 String literal expressions escape tests
121ce8e39 is described below
commit 121ce8e39b405fd1f33efff3e7522fd41d4b59aa
Author: Andrus Adamchik <[email protected]>
AuthorDate: Tue Jul 25 15:42:00 2023 -0400
String literal expressions escape tests
---
.../apache/cayenne/exp/ExpressionFactoryTest.java | 38 ++++++++++++++++------
1 file changed, 28 insertions(+), 10 deletions(-)
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryTest.java
b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryTest.java
index db0c2fd8b..b4c7eb662 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryTest.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactoryTest.java
@@ -19,9 +19,13 @@
package org.apache.cayenne.exp;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.exp.parser.ASTLike;
+import org.apache.cayenne.exp.parser.ASTLikeIgnoreCase;
+import org.apache.cayenne.exp.parser.ASTObjPath;
+import org.apache.cayenne.exp.parser.ASTTrim;
+import org.junit.Before;
+import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
@@ -31,13 +35,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.exp.parser.ASTLike;
-import org.apache.cayenne.exp.parser.ASTLikeIgnoreCase;
-import org.apache.cayenne.exp.parser.ASTObjPath;
-import org.apache.cayenne.exp.parser.ASTTrim;
-import org.junit.Before;
-import org.junit.Test;
+import static org.junit.Assert.*;
public class ExpressionFactoryTest {
@@ -581,6 +579,26 @@ public class ExpressionFactoryTest {
assertEquals(Expression.DBID_PATH, path.getType());
}
+ @Test
+ public void testExp_StringLiteral_SingleQuoted() {
+ assertEquals("p = \"a\"", ExpressionFactory.exp("p =
'a'").toString());
+ assertEquals("p = \"\\\\\"", ExpressionFactory.exp("p =
'\\\\'").toString());
+ assertEquals("p = \"+\"", ExpressionFactory.exp("p =
'+'").toString());
+ assertEquals("p = \"\\'\"", ExpressionFactory.exp("p =
'\\''").toString());
+ assertEquals("p = \"\\\"\"", ExpressionFactory.exp("p =
'\"'").toString());
+ assertEquals("p = \"/\"", ExpressionFactory.exp("p =
'/'").toString());
+ }
+
+ @Test
+ public void testExp_StringLiteral_DoubleQuoted() {
+ assertEquals("p = \"a\"", ExpressionFactory.exp("p =
\"a\"").toString());
+ assertEquals("p = \"\\\\\"", ExpressionFactory.exp("p =
\"\\\\\"").toString());
+ assertEquals("p = \"+\"", ExpressionFactory.exp("p =
\"+\"").toString());
+ assertEquals("p = \"\\'\"", ExpressionFactory.exp("p =
\"\\'\"").toString());
+ assertEquals("p = \"\\\"\"", ExpressionFactory.exp("p =
\"\\\"\"").toString());
+ assertEquals("p = \"/\"", ExpressionFactory.exp("p =
\"/\"").toString());
+ }
+
public static class Bean {
public ExpEnum1 a;