[jboss-svn-commits] JBL Code SVN: r5028 - labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/compiler
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 11 20:56:54 EDT 2006
Author: mark.proctor at jboss.com
Date: 2006-07-11 20:56:51 -0400 (Tue, 11 Jul 2006)
New Revision: 5028
Modified:
labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
Log:
JBRULES-367 Can't use JANINO compiler
-Added unit test
Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java 2006-07-12 00:27:10 UTC (rev 5027)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/compiler/PackageBuilderTest.java 2006-07-12 00:56:51 UTC (rev 5028)
@@ -24,10 +24,15 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
+import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.commons.jci.compilers.EclipseJavaCompiler;
+import org.apache.commons.jci.compilers.EclipseJavaCompilerSettings;
+import org.apache.commons.jci.compilers.JaninoJavaCompiler;
+import org.apache.commons.jci.compilers.JavaCompiler;
import org.drools.Cheese;
import org.drools.DroolsTestCase;
import org.drools.FactHandle;
@@ -820,6 +825,49 @@
builder.getErrors() );
}
+ public void testCompilerConfiguration() throws Exception {
+ // test default is eclipse jdt core
+ PackageBuilder builder = new PackageBuilder( );;
+ Field compilerField = builder.getClass().getDeclaredField( "compiler" );
+ compilerField.setAccessible(true);
+ JavaCompiler compiler = ( JavaCompiler ) compilerField.get( builder );
+ assertSame( EclipseJavaCompiler.class, compiler.getClass() );
+
+ // test JANINO with property settings
+ PackageBuilderConfiguration conf = new PackageBuilderConfiguration();
+ conf.setCompiler( PackageBuilderConfiguration.JANINO );
+ builder = new PackageBuilder( conf );;
+ compiler = ( JavaCompiler ) compilerField.get( builder );
+ assertSame( JaninoJavaCompiler.class, compiler.getClass() );
+
+ // test eclipse jdt core with property settings and default source level
+ conf = new PackageBuilderConfiguration();
+ conf.setCompiler( PackageBuilderConfiguration.ECLIPSE );
+ builder = new PackageBuilder( conf );;
+ compiler = ( JavaCompiler ) compilerField.get( builder );
+ assertSame( EclipseJavaCompiler.class, compiler.getClass() );
+
+ EclipseJavaCompiler eclipseCompiler = ( EclipseJavaCompiler ) compiler;
+ Field settingsField = eclipseCompiler.getClass().getDeclaredField( "settings" );
+ settingsField.setAccessible( true );
+ EclipseJavaCompilerSettings settings = ( EclipseJavaCompilerSettings ) settingsField.get( eclipseCompiler );
+ assertEquals( "1.4", settings.getMap().get( "org.eclipse.jdt.core.compiler.codegen.targetPlatform" ) );
+ assertEquals( "1.4", settings.getMap().get( "org.eclipse.jdt.core.compiler.source" ) );
+
+ // test eclipse jdt core with property settings and jdk1.5 source level
+ conf = new PackageBuilderConfiguration();
+ conf.setCompiler( PackageBuilderConfiguration.ECLIPSE );
+ conf.setJavaLanguageLevel( "1.5" );
+ builder = new PackageBuilder( conf );;
+ compiler = ( JavaCompiler ) compilerField.get( builder );
+ assertSame( EclipseJavaCompiler.class, compiler.getClass() );
+
+ eclipseCompiler = ( EclipseJavaCompiler ) compiler;
+ settings = ( EclipseJavaCompilerSettings ) settingsField.get( eclipseCompiler );
+ assertEquals( "1.5", settings.getMap().get( "org.eclipse.jdt.core.compiler.codegen.targetPlatform" ) );
+ assertEquals( "1.5", settings.getMap().get( "org.eclipse.jdt.core.compiler.source" ) );
+ }
+
private void createReturnValueRule(final PackageDescr packageDescr,
final String expression) {
final RuleDescr ruleDescr = new RuleDescr( "rule-1" );
More information about the jboss-svn-commits
mailing list