[jboss-svn-commits] JBL Code SVN: r16535 - in labs/jbossrules/branches/4.0.x/drools-compiler/src/test: resources/org/drools/lang and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Nov 12 08:38:34 EST 2007


Author: tirelli
Date: 2007-11-12 08:38:34 -0500 (Mon, 12 Nov 2007)
New Revision: 16535

Added:
   labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl
Modified:
   labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
Log:
JBRULES-1274: adding parser unit test

Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2007-11-12 13:36:21 UTC (rev 16534)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2007-11-12 13:38:34 UTC (rev 16535)
@@ -31,6 +31,7 @@
 import org.antlr.runtime.CommonTokenStream;
 import org.antlr.runtime.Lexer;
 import org.antlr.runtime.MismatchedTokenException;
+import org.antlr.runtime.NoViableAltException;
 import org.antlr.runtime.RecognitionException;
 import org.antlr.runtime.TokenStream;
 import org.drools.compiler.DrlParser;
@@ -3562,6 +3563,21 @@
 
     }
 
+    public void testNPEOnParser() throws Exception {
+        final DRLParser parser = parseResource( "npe_on_parser.drl" );
+        parser.compilation_unit();
+
+        assertTrue( "Parser should have raised errors",
+                    parser.hasErrors() );
+        
+        List errors = parser.getErrors();
+        assertEquals( 2, errors.size() );
+        
+        assertTrue( errors.get( 0 ) instanceof MismatchedTokenException ); // "action" is a reserved word
+        assertTrue( errors.get( 1 ) instanceof NoViableAltException ); // no title in the rule
+        
+    }
+
     private DRLParser parse(final String text) throws Exception {
         this.parser = newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
         return this.parser;

Copied: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl (from rev 16534, labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl)
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl	                        (rev 0)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/lang/npe_on_parser.drl	2007-11-12 13:38:34 UTC (rev 16535)
@@ -0,0 +1,15 @@
+package org.drools;
+
+rule "Test"
+when
+    action : Object()
+then
+    System.out.println("A RHS");
+end
+
+rule
+when
+    Object()
+then
+    System.out.println("A RHS");
+end
\ No newline at end of file




More information about the jboss-svn-commits mailing list