Codebase list jel / 0ceb684
fix null string comparisons Ole Streicher 2 years ago
2 changed file(s) with 53 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 From: "Konstantin L. Metlov" <metlov@fti.dn.ua>
1 Date: Tue, 4 Jan 2022 16:02:07 +0000
2 Subject: fix null string comparisons
3
4 http://svn.savannah.gnu.org/viewvc/jel?view=revision&revision=186
5 ---
6 source/src/java/gnu/jel/CompiledExpression.java | 2 ++
7 source/src/tests/gnu/jel/IntegralStaticTest.java | 19 +++++++++++++++++++
8 2 files changed, 21 insertions(+)
9
10 diff --git a/source/src/java/gnu/jel/CompiledExpression.java b/source/src/java/gnu/jel/CompiledExpression.java
11 index 537bab8..96e36c1 100644
12 --- a/source/src/java/gnu/jel/CompiledExpression.java
13 +++ b/source/src/java/gnu/jel/CompiledExpression.java
14 @@ -347,6 +347,8 @@ public abstract class CompiledExpression {
15 private static java.text.Collator collator=null;
16
17 public static int compare(String s1,String s2) {
18 + if (s1==s2) return 0;
19 + if ((s1==null) || (s2==null)) return s1==null?-1:1;
20 if (collator==null)
21 collator = java.text.Collator.getInstance();
22 return collator.compare(s1,s2);
23 diff --git a/source/src/tests/gnu/jel/IntegralStaticTest.java b/source/src/tests/gnu/jel/IntegralStaticTest.java
24 index 9e6a73a..653a951 100644
25 --- a/source/src/tests/gnu/jel/IntegralStaticTest.java
26 +++ b/source/src/tests/gnu/jel/IntegralStaticTest.java
27 @@ -398,5 +398,24 @@ public class IntegralStaticTest extends TestingUtils {
28 simExpression("nullString",null,null,null,lib,null);
29 }
30
31 + public void testExpr70() throws Throwable {
32 + simExpression("nullString==\"aaa\"",Boolean.FALSE,
33 + null,null,lib,null);
34 + }
35 +
36 + public void testExpr71() throws Throwable {
37 + simExpression("nullString>\"aaa\"",Boolean.FALSE,
38 + null,null,lib,null);
39 + }
40 +
41 + public void testExpr72() throws Throwable {
42 + simExpression("nullString<\"aaa\"",Boolean.TRUE,
43 + null,null,lib,null);
44 + }
45 +
46 + public void testExpr73() throws Throwable {
47 + simExpression("\"aaa\"<nullString",Boolean.FALSE,
48 + null,null,lib,null);
49 + }
50
51 };
00 Use-system-provided-junit.jar.patch
1 fix-null-string-comparisons.patch