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() { |