[jboss-svn-commits] JBL Code SVN: r13092 - labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jul 4 18:08:48 EDT 2007
Author: KrisVerlaenen
Date: 2007-07-04 18:08:48 -0400 (Wed, 04 Jul 2007)
New Revision: 13092
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/LocationDeterminatorTest.java
Log:
JBRULES-973: Add code completion support for new 4.0 features
- added support for this, [], nested properties and accumulate functions
Classes in the same package as this rule also recognized by code completion
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java 2007-07-04 22:08:44 UTC (rev 13091)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/IncompleteParsingTest.java 2007-07-04 22:08:48 UTC (rev 13092)
@@ -6,13 +6,13 @@
import org.drools.compiler.DrlParser;
import org.drools.compiler.DroolsParserException;
-import org.drools.lang.descr.PatternDescr;
import org.drools.lang.descr.EvalDescr;
import org.drools.lang.descr.FieldBindingDescr;
import org.drools.lang.descr.FieldConstraintDescr;
import org.drools.lang.descr.FromDescr;
import org.drools.lang.descr.LiteralRestrictionDescr;
import org.drools.lang.descr.PackageDescr;
+import org.drools.lang.descr.PatternDescr;
import org.drools.lang.descr.RestrictionConnectiveDescr;
import org.drools.lang.descr.RuleDescr;
import org.drools.lang.descr.VariableRestrictionDescr;
@@ -177,6 +177,20 @@
assertEquals(-1, field.getEndCharacter());
input =
+ "rule MyRule \n" +
+ " when \n" +
+ " Class ( name['xyz'].subname.subsubn";
+ rule = parseRuleString(input);
+ assertEquals(1, rule.getLhs().getDescrs().size());
+ pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+ assertEquals("Class", pattern.getObjectType());
+ assertEquals(-1, pattern.getEndCharacter());
+ assertEquals(1, pattern.getDescrs().size());
+ field = (FieldConstraintDescr) pattern.getDescrs().get(0);
+ assertEquals( "na", field.getFieldName() );
+ assertEquals(-1, field.getEndCharacter());
+
+ input =
"rule MyRule \n" +
" when \n" +
" Class ( condition == true, ";
@@ -192,6 +206,19 @@
input =
"rule MyRule \n" +
" when \n" +
+ " Class ( c : condition, ";
+ rule = parseRuleString(input);
+ assertEquals(1, rule.getLhs().getDescrs().size());
+ pattern = (PatternDescr) rule.getLhs().getDescrs().get(0);
+ assertEquals("Class", pattern.getObjectType());
+ assertEquals(-1, pattern.getEndCharacter());
+ assertEquals(1, pattern.getDescrs().size());
+ FieldBindingDescr fieldBinding = (FieldBindingDescr) pattern.getDescrs().get(0);
+ assertEquals(-1, fieldBinding.getEndCharacter());
+
+ input =
+ "rule MyRule \n" +
+ " when \n" +
" Class ( condition == true, na";
rule = parseRuleString(input);
assertEquals(1, rule.getLhs().getDescrs().size());
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/LocationDeterminatorTest.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/LocationDeterminatorTest.java 2007-07-04 22:08:44 UTC (rev 13091)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-test/src/test/java/org/drools/eclipse/editors/completion/LocationDeterminatorTest.java 2007-07-04 22:08:48 UTC (rev 13092)
@@ -124,10 +124,20 @@
location = LocationDeterminator.getLocation(input);
assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+ assertEquals("na", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
input =
"rule MyRule \n" +
" when \n" +
+ " Class ( name.subProperty['test'].subsu";
+ location = LocationDeterminator.getLocation(input);
+ assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+ assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+ assertEquals("name.subProperty['test'].subsu", location.getProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME));
+
+ input =
+ "rule MyRule \n" +
+ " when \n" +
" Class ( condition == true, ";
location = LocationDeterminator.getLocation(input);
assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
@@ -162,6 +172,15 @@
input =
"rule MyRule \n" +
" when \n" +
+ " Class ( c: condition, \n" +
+ " ";
+ location = LocationDeterminator.getLocation(input);
+ assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
+ assertEquals("Class", location.getProperty(Location.LOCATION_PROPERTY_CLASS_NAME));
+
+ input =
+ "rule MyRule \n" +
+ " when \n" +
" Class ( name : ";
location = LocationDeterminator.getLocation(input);
assertEquals(Location.LOCATION_LHS_INSIDE_CONDITION_START, location.getType());
@@ -1350,6 +1369,11 @@
" salience 12 activation-group \"my";
location = LocationDeterminator.getLocation(input);
assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
+
+ input =
+ "rule \"Hello World\" ruleflow-group \"hello\" s";
+ location = LocationDeterminator.getLocation(input);
+ assertEquals(Location.LOCATION_RULE_HEADER, location.getType());
}
public void testCheckQueryLocationDetermination() {
More information about the jboss-svn-commits
mailing list