[jboss-svn-commits] JBL Code SVN: r18889 - labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 12 12:14:59 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-03-12 12:14:59 -0400 (Wed, 12 Mar 2008)
New Revision: 18889

Modified:
   labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-1460 MVEL parser uses wrong precedence for []
-Unable to reproduce bug, but added integration test anyway

Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-12 15:50:10 UTC (rev 18888)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-12 16:14:59 UTC (rev 18889)
@@ -653,7 +653,39 @@
         session.fireAllRules();
         
 	}
+	
+    public void testMVELConsequenceWithMapsAndArrays() throws Exception {
+        String rule = "package org.test;\n";
+        rule += "import java.util.ArrayList\n";
+        rule += "import java.util.HashMap\n";
+        rule += "global java.util.List list\n";
+        rule += "rule \"Test Rule\"\n";
+        rule += "    dialect \"mvel\"";
+        rule += "when\n";
+        rule += "then\n";
+        rule += "    m = new HashMap();\n";
+        rule += "    l = new ArrayList();\n";
+        rule += "    l.add(\"first\");\n";
+        rule += "    m.put(\"content\", l);\n";
+        rule += "    System.out.println(m[\"content\"][0]);\n";
+        rule += "    list.add(m[\"content\"][0]);\n";
+        rule += "end";
+        
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new StringReader( rule ));
+        final Package pkg = builder.getPackage();
 
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage(pkg);
+        final StatefulSession session = ruleBase.newStatefulSession();
+        List list = new ArrayList();
+        session.setGlobal( "list", list );
+        session.fireAllRules();
+        
+        assertEquals( 1, list.size() );
+        assertEquals( "first", list.get( 0 ) );                        
+    }	
+
 	public void testCell() throws Exception {
 		final Cell cell1 = new Cell(9);
 		final Cell cell = new Cell(0);




More information about the jboss-svn-commits mailing list