|
22 | 22 | import org.antlr.v4.runtime.CommonTokenStream;
|
23 | 23 | import org.junit.jupiter.api.Disabled;
|
24 | 24 | import org.junit.jupiter.api.Test;
|
| 25 | +import org.junit.jupiter.params.ParameterizedTest; |
| 26 | +import org.junit.jupiter.params.provider.ValueSource; |
25 | 27 |
|
26 | 28 | /**
|
27 | 29 | * Tests built around examples of JPQL found in the JPA spec
|
|
30 | 32 | * IMPORTANT: Purely verifies the parser without any transformations.
|
31 | 33 | *
|
32 | 34 | * @author Greg Turnquist
|
| 35 | + * @author Christoph Strobl |
33 | 36 | * @since 3.1
|
34 | 37 | */
|
35 | 38 | class JpqlQueryRendererTests {
|
@@ -991,4 +994,27 @@ void newShouldBeLegalAsPartOfAStateFieldPathExpression() {
|
991 | 994 | void powerShouldBeLegalInAQuery() {
|
992 | 995 | assertQuery("select e.power.id from MyEntity e");
|
993 | 996 | }
|
| 997 | + |
| 998 | + @ParameterizedTest // GH-3342 |
| 999 | + @ValueSource(strings = { |
| 1000 | + "select 1 as value from User u", |
| 1001 | + "select -1 as value from User u", |
| 1002 | + "select +1 as value from User u", |
| 1003 | + "select +1*-100 as value from User u", |
| 1004 | + "select count(u)*-0.7f as value from User u", |
| 1005 | + "select count(oi) + (-100) as perc from StockOrderItem oi", |
| 1006 | + "select p from Payment p where length(p.cardNumber) between +16 and -20" |
| 1007 | + }) |
| 1008 | + void signedLiteralShouldWork(String query) { |
| 1009 | + assertQuery(query); |
| 1010 | + } |
| 1011 | + |
| 1012 | + @ParameterizedTest // GH-3342 |
| 1013 | + @ValueSource(strings = { |
| 1014 | + "select -count(u) from User u", |
| 1015 | + "select +1*(-count(u)) from User u" |
| 1016 | + }) |
| 1017 | + void signedExpressionsShouldWork(String query) { |
| 1018 | + assertQuery(query); |
| 1019 | + } |
994 | 1020 | }
|
0 commit comments