|
From: SVN by r. <sv...@ca...> - 2008-04-04 11:07:17
|
Author: roy
Date: 2008-04-04 13:07:07 +0200 (Fri, 04 Apr 2008)
New Revision: 258
Modified:
src/main/java/nl/improved/sqlclient/SQLUtil.java
src/test/java/nl/improved/sqlclient/SQLUtilTest.java
Log:
added test for like with tabcompletion
Modified: src/main/java/nl/improved/sqlclient/SQLUtil.java
===================================================================
--- src/main/java/nl/improved/sqlclient/SQLUtil.java 2008-04-03 13:20:14 UTC (rev 257)
+++ src/main/java/nl/improved/sqlclient/SQLUtil.java 2008-04-04 11:07:07 UTC (rev 258)
@@ -45,7 +45,7 @@
/**
* SQL Comparators.
*/
- private static final String COMPARATOR = "(=|<>|<|>)";
+ private static final String COMPARATOR = "(=|<>|<|>|LIKE)";
/**
* A sql variable description.
*/
@@ -242,7 +242,6 @@
String VALUE = "('.*'|[0-9]+|"+VAR+")";
// VALUE COMPERATOR VALUE
// VALUE IN (.*)
-
String regExp = "(|"+VALUE+"(|[\\s]*"+COMPARATOR+"[\\s]*(|"+VALUE+"(|([\\s]+(AND|OR)[\\s]+(|"+VALUE+"(|[\\s]*"+COMPARATOR+"[\\s]*(|"+VALUE+"))))*))|[\\s]*IN[\\s]*(.*)[\\s]*))";
if (upperCommandString.matches(regExp)) {
int lastIndex = tmpCommand.lastIndexOf(' ');
Modified: src/test/java/nl/improved/sqlclient/SQLUtilTest.java
===================================================================
--- src/test/java/nl/improved/sqlclient/SQLUtilTest.java 2008-04-03 13:20:14 UTC (rev 257)
+++ src/test/java/nl/improved/sqlclient/SQLUtilTest.java 2008-04-04 11:07:07 UTC (rev 258)
@@ -364,7 +364,6 @@
assertTrue(matches.contains("AND"));
assertEquals("a", info.getStart());
-
sqlCommand = Arrays.asList(new String[]{"SELECT * FROM A,B WHERE c in('c','d','e') and A.x"});
cursorPos = new Point(sqlCommand.get(0).length(),0);
assertEquals("WHERE", SQLUtil.getLastKeyWord(sqlCommand.get(0)));
@@ -374,6 +373,16 @@
matches = info.getPossibleMatches();
assertTrue(matches.contains("A"));
assertEquals("x", info.getStart());
+
+ sqlCommand = Arrays.asList(new String[]{"SELECT * FROM A,B WHERE c like 'a%' and A.x"});
+ cursorPos = new Point(sqlCommand.get(0).length(),0);
+ assertEquals("WHERE", SQLUtil.getLastKeyWord(sqlCommand.get(0)));
+ info = SQLUtil.getTabCompletionInfo(sqlCommand, cursorPos);
+ assertNotNull(info);
+ assertEquals(TabCompletionInfo.MatchType.COLUMN_NAMES, info.getMatchType());
+ matches = info.getPossibleMatches();
+ assertTrue(matches.contains("A"));
+ assertEquals("x", info.getStart());
}
public void testGroupBy() {
|