From 3b39397594fd82d07596716ea557714e78cb07a4 Mon Sep 17 00:00:00 2001 From: Carolin Brandt Date: Thu, 16 Jun 2022 16:20:45 +0200 Subject: [PATCH 1/2] Add test for LikeExpression.setEscape and LikeExpression.getStringExpression --- .../operators/relational/LikeExpressionTest.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/test/java/net/sf/jsqlparser/expression/operators/relational/LikeExpressionTest.java b/src/test/java/net/sf/jsqlparser/expression/operators/relational/LikeExpressionTest.java index 6a3771b66..15fd19338 100644 --- a/src/test/java/net/sf/jsqlparser/expression/operators/relational/LikeExpressionTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/operators/relational/LikeExpressionTest.java @@ -9,10 +9,10 @@ */ package net.sf.jsqlparser.expression.operators.relational; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + /** * * @author Tobias Warneke (t.warneke@gmx.net) @@ -25,4 +25,12 @@ public void testLikeNotIssue660() { assertFalse(instance.isNot()); assertTrue(instance.withNot(true).isNot()); } + + @Test + public void testSetEscapeAndGetStringExpression() { + LikeExpression instance = new LikeExpression(); + LikeExpression instance2 = new LikeExpression(); + instance.setEscape(instance2); + assertEquals("null LIKE null ESCAPE null LIKE null", instance.toString()); + } } From d84bb5f247ea8bc46dc508737b1117e7b50a50e8 Mon Sep 17 00:00:00 2001 From: Carolin Brandt Date: Thu, 30 Jun 2022 11:54:37 +0200 Subject: [PATCH 2/2] like + set escape test for $ as escape character --- .../operators/relational/LikeExpressionTest.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/test/java/net/sf/jsqlparser/expression/operators/relational/LikeExpressionTest.java b/src/test/java/net/sf/jsqlparser/expression/operators/relational/LikeExpressionTest.java index 15fd19338..bafbbf7fb 100644 --- a/src/test/java/net/sf/jsqlparser/expression/operators/relational/LikeExpressionTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/operators/relational/LikeExpressionTest.java @@ -9,6 +9,10 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import net.sf.jsqlparser.JSQLParserException; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.StringValue; +import net.sf.jsqlparser.parser.CCJSqlParserUtil; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; @@ -27,10 +31,13 @@ public void testLikeNotIssue660() { } @Test - public void testSetEscapeAndGetStringExpression() { - LikeExpression instance = new LikeExpression(); - LikeExpression instance2 = new LikeExpression(); + public void testSetEscapeAndGetStringExpression() throws JSQLParserException { + LikeExpression instance = (LikeExpression) CCJSqlParserUtil.parseExpression("name LIKE 'J%$_%'"); + // escape character should be $ + Expression instance2 = new StringValue("$"); instance.setEscape(instance2); - assertEquals("null LIKE null ESCAPE null LIKE null", instance.toString()); + + // match all records with names that start with letter ’J’ and have the ’_’ character in them + assertEquals("name LIKE 'J%$_%' ESCAPE '$'", instance.toString()); } }