[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