You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by tc...@apache.org on 2005/08/13 04:50:07 UTC

svn commit: r232412 - in /jakarta/commons/sandbox/jci/trunk: ./ src/java/org/apache/commons/jci/ src/java/org/apache/commons/jci/compilers/eclipse/ src/java/org/apache/commons/jci/compilers/groovy/ src/java/org/apache/commons/jci/compilers/janino/ src/...

Author: tcurdt
Date: Fri Aug 12 19:49:43 2005
New Revision: 232412

URL: http://svn.apache.org/viewcvs?rev=232412&view=rev
Log:
improved testcase coverage


Added:
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/AbstractCompilerTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/Programs.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/eclipse/
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/groovy/
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/groovy/GroovyJavaCompilerTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/janino/
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/janino/JaninoJavaCompilerTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/problems/
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/problems/CompilationProblemTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/AbstractStoreTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java
Modified:
    jakarta/commons/sandbox/jci/trunk/project.xml
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/CompilingClassLoader.java
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompiler.java
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerSettings.java
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/janino/JaninoJavaCompiler.java
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/listeners/CompilingListener.java
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/readers/FileResourceReader.java
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/FileResourceStore.java
    jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/MemoryResourceStore.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/AbstractTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java
    jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/MemoryResourceStoreTestCase.java

Modified: jakarta/commons/sandbox/jci/trunk/project.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/project.xml?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/project.xml (original)
+++ jakarta/commons/sandbox/jci/trunk/project.xml Fri Aug 12 19:49:43 2005
@@ -120,6 +120,9 @@
       <includes>
         <include>**/*TestCase.java</include>
       </includes>
+      <excludes>
+        <exclude>**/Abstract*</exclude>
+      </excludes>
     </unitTest>
   </build>
 

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/CompilingClassLoader.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/CompilingClassLoader.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/CompilingClassLoader.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/CompilingClassLoader.java Fri Aug 12 19:49:43 2005
@@ -68,6 +68,7 @@
                 new ConsoleCompilationProblemHandler()
                 ) {
             public void reload() {
+                super.reload();
                 CompilingClassLoader.this.reload();
             }
         }, repository);

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompiler.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompiler.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompiler.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompiler.java Fri Aug 12 19:49:43 2005
@@ -25,10 +25,7 @@
 import org.apache.commons.jci.compilers.JavaCompiler;
 import org.apache.commons.jci.problems.CompilationProblem;
 import org.apache.commons.jci.problems.CompilationProblemHandler;
-import org.apache.commons.jci.problems.ConsoleCompilationProblemHandler;
-import org.apache.commons.jci.readers.FileResourceReader;
 import org.apache.commons.jci.readers.ResourceReader;
-import org.apache.commons.jci.stores.MemoryResourceStore;
 import org.apache.commons.jci.stores.ResourceStore;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
@@ -261,45 +258,41 @@
         final ICompilerRequestor compilerRequestor = new ICompilerRequestor() {
 
             public void acceptResult(CompilationResult result) {
-                try {
-                    if (result.hasProblems()) {
-                        if (pProblemHandler != null) {
-	                        final IProblem[] problems = result.getProblems();
-	                        for (int i = 0; i < problems.length; i++) {
-	                            final IProblem problem = problems[i];
-	                            pProblemHandler.handle(
-	                                    new CompilationProblem(
-	                                            problem.getID(),
-	                                            new String(problem.getOriginatingFileName()),
-	                                            problem.getMessage(),
-	                                            problem.getSourceLineNumber(),
-	                                            problem.getSourceLineNumber(),
-	                                            problem.isError()
-	                                            ));
-	                        }
+                if (result.hasProblems()) {
+                    if (pProblemHandler != null) {
+                        final IProblem[] problems = result.getProblems();
+                        for (int i = 0; i < problems.length; i++) {
+                            final IProblem problem = problems[i];
+                            pProblemHandler.handle(
+                                    new CompilationProblem(
+                                            problem.getID(),
+                                            new String(problem.getOriginatingFileName()),
+                                            problem.getMessage(),
+                                            problem.getSourceLineNumber(),
+                                            problem.getSourceLineNumber(),
+                                            problem.isError()
+                                            ));
                         }
                     }
-                    
-                    if (!result.hasErrors()) {
+                }
+                
+                if (!result.hasErrors()) {
 
-                        final ClassFile[] clazzFiles = result.getClassFiles();
-                        for (int i = 0; i < clazzFiles.length; i++) {
-                            final ClassFile clazzFile = clazzFiles[i];
-
-                            final char[][] compoundName = clazzFile.getCompoundName();
-                            final StringBuffer clazzName = new StringBuffer();
-                            for (int j = 0; j < compoundName.length; j++) {
-                                if (j != 0) {
-                                    clazzName.append('.');
-                                }
-                                clazzName.append(compoundName[j]);
+                    final ClassFile[] clazzFiles = result.getClassFiles();
+                    for (int i = 0; i < clazzFiles.length; i++) {
+                        final ClassFile clazzFile = clazzFiles[i];
+
+                        final char[][] compoundName = clazzFile.getCompoundName();
+                        final StringBuffer clazzName = new StringBuffer();
+                        for (int j = 0; j < compoundName.length; j++) {
+                            if (j != 0) {
+                                clazzName.append('.');
                             }
-
-                            pStore.write(clazzName.toString(), clazzFile.getBytes());
+                            clazzName.append(compoundName[j]);
                         }
+
+                        pStore.write(clazzName.toString(), clazzFile.getBytes());
                     }
-                } catch (Exception exc) {
-                    exc.printStackTrace();
                 }
             }
 
@@ -309,23 +302,5 @@
 
         compiler.compile(compilationUnits);
 
-    }
-
-    public static void main(String[] args) throws Exception {
-
-        final JavaCompiler compiler = new EclipseJavaCompiler();
-        final ConsoleCompilationProblemHandler problemHandler = new ConsoleCompilationProblemHandler();
-        
-        compiler.compile(
-                args,
-                new FileResourceReader("classes"),
-                new MemoryResourceStore(),
-                problemHandler
-                );
-        
-        log.debug(
-                problemHandler.getErrorCount() + " errors, " +
-                problemHandler.getWarningCount() + " warnings"
-                );
     }
 }

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerSettings.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerSettings.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerSettings.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerSettings.java Fri Aug 12 19:49:43 2005
@@ -12,7 +12,7 @@
     public EclipseJavaCompilerSettings() {
         map.put(CompilerOptions.OPTION_LineNumberAttribute, CompilerOptions.GENERATE);
         map.put(CompilerOptions.OPTION_SourceFileAttribute, CompilerOptions.GENERATE);
-        map.put(CompilerOptions.OPTION_ReportDeprecation, CompilerOptions.IGNORE);
+        map.put(CompilerOptions.OPTION_ReportDeprecation, CompilerOptions.GENERATE);
         map.put(CompilerOptions.OPTION_ReportUnusedImport, CompilerOptions.IGNORE);
         map.put(CompilerOptions.OPTION_Encoding, "UTF-8");
         map.put(CompilerOptions.OPTION_LocalVariableAttribute, CompilerOptions.GENERATE);

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java Fri Aug 12 19:49:43 2005
@@ -1,14 +1,11 @@
 package org.apache.commons.jci.compilers.groovy;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.commons.jci.compilers.JavaCompiler;
 import org.apache.commons.jci.problems.CompilationProblemHandler;
-import org.apache.commons.jci.problems.ConsoleCompilationProblemHandler;
-import org.apache.commons.jci.readers.FileResourceReader;
 import org.apache.commons.jci.readers.ResourceReader;
-import org.apache.commons.jci.stores.MemoryResourceStore;
 import org.apache.commons.jci.stores.ResourceStore;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 public final class GroovyJavaCompiler implements JavaCompiler {
 
@@ -21,23 +18,5 @@
             final CompilationProblemHandler problemHandler
             ) {
         throw new RuntimeException("NYI");
-    }
-
-    public static void main(String[] args) throws Exception {
-
-        final JavaCompiler compiler = new GroovyJavaCompiler();
-        final ConsoleCompilationProblemHandler problemHandler = new ConsoleCompilationProblemHandler();
-        
-        compiler.compile(
-                args,
-                new FileResourceReader("classes"),
-                new MemoryResourceStore(),
-                problemHandler
-                );
-        
-        log.debug(
-                problemHandler.getErrorCount() + " errors, " +
-                problemHandler.getWarningCount() + " warnings"
-                );
     }
 }

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/janino/JaninoJavaCompiler.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/janino/JaninoJavaCompiler.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/janino/JaninoJavaCompiler.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/janino/JaninoJavaCompiler.java Fri Aug 12 19:49:43 2005
@@ -21,14 +21,10 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-
 import org.apache.commons.jci.compilers.JavaCompiler;
 import org.apache.commons.jci.problems.CompilationProblem;
 import org.apache.commons.jci.problems.CompilationProblemHandler;
-import org.apache.commons.jci.problems.ConsoleCompilationProblemHandler;
-import org.apache.commons.jci.readers.FileResourceReader;
 import org.apache.commons.jci.readers.ResourceReader;
-import org.apache.commons.jci.stores.MemoryResourceStore;
 import org.apache.commons.jci.stores.ResourceStore;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -146,23 +142,4 @@
             store.write(name,bytes);
         }
     }
-    
-    public static void main(String[] args) throws Exception {
-        final JavaCompiler compiler = new JaninoJavaCompiler();
-        final ConsoleCompilationProblemHandler problemHandler = new ConsoleCompilationProblemHandler();
-        
-        compiler.compile(
-                args,
-                new FileResourceReader("classes"),
-                new MemoryResourceStore(),
-                problemHandler
-                );
-        
-        log.debug(
-                problemHandler.getErrorCount() + " errors, " +
-                problemHandler.getWarningCount() + " warnings"
-                );
-    }
-
-
 }

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/listeners/CompilingListener.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/listeners/CompilingListener.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/listeners/CompilingListener.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/listeners/CompilingListener.java Fri Aug 12 19:49:43 2005
@@ -146,5 +146,6 @@
     }
 
     protected void reload() {
+        log.debug("reload");
     }
 }

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/readers/FileResourceReader.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/readers/FileResourceReader.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/readers/FileResourceReader.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/readers/FileResourceReader.java Fri Aug 12 19:49:43 2005
@@ -26,10 +26,6 @@
 public final class FileResourceReader implements ResourceReader {
 
     private final File base;
-    
-    public FileResourceReader( final String pBase ) {
-        base = new File(pBase);        
-    }
 
     public FileResourceReader( final File pBase ) {
         base = pBase;        
@@ -44,7 +40,6 @@
             return FileUtils.readFileToString(
                     new File(base,fileName), "UTF-8").toCharArray();
         } catch(Exception e) {
-            e.printStackTrace();
         }
         return null;
     }

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/FileResourceStore.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/FileResourceStore.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/FileResourceStore.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/FileResourceStore.java Fri Aug 12 19:49:43 2005
@@ -15,6 +15,15 @@
  */
 package org.apache.commons.jci.stores;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import org.apache.commons.io.IOUtils;
+
 
 /**
  * @author tcurdt
@@ -22,13 +31,50 @@
  */
 public final class FileResourceStore implements ResourceStore {
 
+    private final File root;
+    
+    public FileResourceStore(final File pFile) {
+        root = pFile;
+    }
     public byte[] read( final String resourceName ) {
-        throw new RuntimeException("NYI");
+        InputStream is = null;
+        try {
+            is = new FileInputStream(new File(root, resourceName));
+            final byte[] data = IOUtils.toByteArray(is);
+            return data;
+        } catch (FileNotFoundException e) {
+        } catch (IOException e) {
+        } finally {
+            if (is != null) {
+                try {
+                    is.close();
+                } catch (IOException e) {
+                }
+            }
+        }
+        
+        return null;
     }
+
     public void write( final String resourceName, final byte[] clazzData ) {
-        throw new RuntimeException("NYI");
+        OutputStream os = null;
+        try {
+            os = new FileOutputStream(new File(root, resourceName));
+            os.write(clazzData);
+        } catch (FileNotFoundException e) {
+        } catch (IOException e) {
+        } finally {
+            if (os != null) {
+                try {
+                    os.close();
+                } catch (IOException e) {
+                }
+            }
+        }
     }    
+
     public void remove( final String resourceName ) {
-        throw new RuntimeException("NYI");
+        final File file = new File(root, resourceName);
+        file.delete();
     }
 }

Modified: jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/MemoryResourceStore.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/MemoryResourceStore.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/MemoryResourceStore.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/stores/MemoryResourceStore.java Fri Aug 12 19:49:43 2005
@@ -33,7 +33,6 @@
 	private final Map store = new HashMap();
 	
 	public byte[] read( final String resourceName ) {
-		//log.debug("looking up class " + resourceName);
 		return (byte[]) store.get(resourceName);
 	}
 

Modified: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/AbstractTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/AbstractTestCase.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/AbstractTestCase.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/AbstractTestCase.java Fri Aug 12 19:49:43 2005
@@ -106,7 +106,7 @@
     
     protected void delay() {
         try {
-            Thread.sleep(1000);
+            Thread.sleep(1500);
         } catch (final InterruptedException e) {
             ;
         }

Modified: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/CompilingClassLoaderTestCase.java Fri Aug 12 19:49:43 2005
@@ -1,11 +1,13 @@
 package org.apache.commons.jci;
 
 import java.io.File;
+import org.apache.commons.jci.compilers.AbstractCompilerTestCase;
+import org.apache.commons.jci.compilers.Programs;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 
-public final class CompilingClassLoaderTestCase extends AbstractTestCase {
+public final class CompilingClassLoaderTestCase extends AbstractCompilerTestCase {
 
     private final static Log log = LogFactory.getLog(CompilingClassLoaderTestCase.class);
     
@@ -37,21 +39,11 @@
         waitForSignal(reload);
 
         writeFile("jci/Simple.java",
-                "package jci;\n"
-                + "public class Simple { \n"
-                + "  public String toString() { \n"
-                + "    return \"Simple\"; \n"
-                + "  } \n"
-                + "} \n"
+                Programs.simple
         );
         
         writeFile("jci/Extended.java",
-                "package jci;\n"
-                + "public class Extended extends Simple { \n"
-                + "  public String toString() { \n"
-                + "    return \"Extended:\" + super.toString(); \n"
-                + "  } \n"
-                + "} \n"
+                Programs.extended
         );
         
         waitForSignal(reload);
@@ -64,17 +56,12 @@
         waitForSignal(reload);
 
         writeFile("jci/Simple.java",
-                "package jci;\n"
-                + "public class Simple { \n"
-                + "  public String toString() { \n"
-                + "    return 1; \n"
-                + "  } \n"
-                + "} \n"
+                Programs.error
         );
 
         waitForSignal(reload);
         
-        
+        // FIXME
     }
     
     public void testCreate() throws Exception {
@@ -101,12 +88,7 @@
         assertTrue("Extended:Simple".equals(o.toString()));
 
         writeFile("jci/Simple.java",
-                "package jci;\n"
-                + "public class Simple { \n"
-                + "  public String toString() { \n"
-                + "    return \"SIMPLE\"; \n"
-                + "  } \n"
-                + "} \n"
+                Programs.SIMPLE
         );
 
         waitForSignal(reload);

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/AbstractCompilerTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/AbstractCompilerTestCase.java?rev=232412&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/AbstractCompilerTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/AbstractCompilerTestCase.java Fri Aug 12 19:49:43 2005
@@ -0,0 +1,37 @@
+package org.apache.commons.jci.compilers;
+
+import java.io.File;
+import org.apache.commons.jci.AbstractTestCase;
+import org.apache.commons.jci.problems.CompilationProblemHandler;
+import org.apache.commons.jci.problems.LogCompilationProblemHandler;
+import org.apache.commons.jci.readers.FileResourceReader;
+import org.apache.commons.jci.stores.FileResourceStore;
+
+
+public abstract class AbstractCompilerTestCase extends AbstractTestCase {
+
+        
+    protected CompilationProblemHandler compileWith( final JavaCompiler pCompiler, final String pSource ) throws Exception {
+        final File srcDir = new File(directory, "src");
+        final File dstDir = new File(directory, "dst");
+        
+        assertTrue(srcDir.mkdir());
+        assertTrue(dstDir.mkdir());
+        
+        final FileResourceReader src = new FileResourceReader(srcDir);
+        final FileResourceStore dst = new FileResourceStore(dstDir);
+        
+        final CompilationProblemHandler handler = new LogCompilationProblemHandler();
+
+        writeFile("src/jci/Simple.java", pSource);
+        
+        pCompiler.compile(
+                new String[] { "jci.Simple"},
+                src,
+                dst,
+                handler
+                );
+        
+        return handler;
+    }
+}

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/Programs.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/Programs.java?rev=232412&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/Programs.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/Programs.java Fri Aug 12 19:49:43 2005
@@ -0,0 +1,47 @@
+package org.apache.commons.jci.compilers;
+
+
+public interface Programs {
+    
+    String simple =
+        "package jci;\n"
+        + "public class Simple { \n"
+        + "  public String toString() { \n"
+        + "    return \"Simple\"; \n"
+        + "  } \n"
+        + "} \n";
+
+    String SIMPLE = "package jci;\n"
+        + "public class Simple { \n"
+        + "  public String toString() { \n"
+        + "    return \"SIMPLE\"; \n"
+        + "  } \n"
+        + "} \n";
+    
+    String extended =
+        "package jci;\n"
+        + "public class Extended extends Simple { \n"
+        + "  public String toString() { \n"
+        + "    return \"Extended:\" + super.toString(); \n"
+        + "  } \n"
+        + "} \n";
+
+    String warning =
+        "package jci;\n"
+        + "public class Simple { \n"
+        + "  public int generateWarning() { \n"
+        + "    return new java.util.Date().getHours(); \n"
+        + "  }\n"
+        + "  public String toString() { \n"
+        + "    return \"Simple\"; \n"
+        + "  } \n"
+        + "} \n";
+
+    String error =
+        "package jci;\n"
+        + "public class Simple { \n"
+        + "  public String toString() { \n"
+        + "    return 1; \n"
+        + "  } \n"
+        + "} \n";
+}

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerTestCase.java?rev=232412&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/eclipse/EclipseJavaCompilerTestCase.java Fri Aug 12 19:49:43 2005
@@ -0,0 +1,30 @@
+package org.apache.commons.jci.compilers.eclipse;
+
+import org.apache.commons.jci.compilers.AbstractCompilerTestCase;
+import org.apache.commons.jci.compilers.JavaCompiler;
+import org.apache.commons.jci.compilers.Programs;
+import org.apache.commons.jci.problems.CompilationProblemHandler;
+
+
+public final class EclipseJavaCompilerTestCase extends AbstractCompilerTestCase {
+    public void testSimpleCompilation() throws Exception {
+        final JavaCompiler compiler = new EclipseJavaCompiler();
+        final CompilationProblemHandler handler = compileWith(compiler, Programs.simple);
+        assertTrue(handler.getWarningCount() == 0);
+        assertTrue(handler.getErrorCount() == 0);
+    }
+    
+    public void testCompilationError() throws Exception {
+        final JavaCompiler compiler = new EclipseJavaCompiler();
+        final CompilationProblemHandler handler = compileWith(compiler, Programs.error);
+        assertTrue(handler.getWarningCount() == 0);
+        assertTrue(handler.getErrorCount() == 1);
+    }
+
+    public void testCompilationWarning() throws Exception {
+        final JavaCompiler compiler = new EclipseJavaCompiler();
+        final CompilationProblemHandler handler = compileWith(compiler, Programs.warning);
+        assertTrue(handler.getWarningCount() == 1);
+        assertTrue(handler.getErrorCount() == 0);
+    }    
+}

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/groovy/GroovyJavaCompilerTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/groovy/GroovyJavaCompilerTestCase.java?rev=232412&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/groovy/GroovyJavaCompilerTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/groovy/GroovyJavaCompilerTestCase.java Fri Aug 12 19:49:43 2005
@@ -0,0 +1,15 @@
+package org.apache.commons.jci.compilers.groovy;
+
+import org.apache.commons.jci.compilers.AbstractCompilerTestCase;
+
+
+public final class GroovyJavaCompilerTestCase extends AbstractCompilerTestCase {
+    public void testSimpleCompilation() throws Exception {
+    }
+    
+    public void testCompilationError() throws Exception {
+    }
+
+    public void testCompilationWarning() throws Exception {
+    }
+}

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/janino/JaninoJavaCompilerTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/janino/JaninoJavaCompilerTestCase.java?rev=232412&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/janino/JaninoJavaCompilerTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/compilers/janino/JaninoJavaCompilerTestCase.java Fri Aug 12 19:49:43 2005
@@ -0,0 +1,30 @@
+package org.apache.commons.jci.compilers.janino;
+
+import org.apache.commons.jci.compilers.AbstractCompilerTestCase;
+import org.apache.commons.jci.compilers.JavaCompiler;
+import org.apache.commons.jci.compilers.Programs;
+import org.apache.commons.jci.problems.CompilationProblemHandler;
+
+
+public final class JaninoJavaCompilerTestCase extends AbstractCompilerTestCase {
+    public void testSimpleCompilation() throws Exception {
+        final JavaCompiler compiler = new JaninoJavaCompiler();
+        final CompilationProblemHandler handler = compileWith(compiler, Programs.simple);
+        assertTrue(handler.getWarningCount() == 0);
+        assertTrue(handler.getErrorCount() == 0);
+    }
+    
+    public void testCompilationError() throws Exception {
+        final JavaCompiler compiler = new JaninoJavaCompiler();
+        final CompilationProblemHandler handler = compileWith(compiler, Programs.error);
+        assertTrue(handler.getWarningCount() == 0);
+        assertTrue(handler.getErrorCount() == 1);
+    }
+
+    public void testCompilationWarning() throws Exception {
+        final JavaCompiler compiler = new JaninoJavaCompiler();
+        final CompilationProblemHandler handler = compileWith(compiler, Programs.warning);
+        //assertTrue(handler.getWarningCount() == 1);
+        assertTrue(handler.getErrorCount() == 0);
+    }
+}

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/problems/CompilationProblemTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/problems/CompilationProblemTestCase.java?rev=232412&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/problems/CompilationProblemTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/problems/CompilationProblemTestCase.java Fri Aug 12 19:49:43 2005
@@ -0,0 +1,32 @@
+package org.apache.commons.jci.problems;
+
+import junit.framework.TestCase;
+
+
+public final class CompilationProblemTestCase extends TestCase {
+
+    public void testToString() {
+        CompilationProblem problem;
+        
+        problem = new CompilationProblem(
+                0,
+                "filename",
+                "message",
+                1,
+                2,
+                true
+                );
+        assertTrue("filename (1-2) : message".equals(problem.toString()));
+
+        problem = new CompilationProblem(
+                0,
+                "filename",
+                "message",
+                1,
+                1,
+                true
+                );
+        assertTrue("filename (1) : message".equals(problem.toString()));
+    }
+
+}

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/AbstractStoreTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/AbstractStoreTestCase.java?rev=232412&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/AbstractStoreTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/AbstractStoreTestCase.java Fri Aug 12 19:49:43 2005
@@ -0,0 +1,34 @@
+package org.apache.commons.jci.stores;
+
+import org.apache.commons.jci.AbstractTestCase;
+import org.apache.commons.lang.ArrayUtils;
+
+
+public abstract class AbstractStoreTestCase extends AbstractTestCase {
+
+    protected void testStore(final ResourceStore pStore) {
+        final byte[] data = { 1, 2, 3 };
+        pStore.write("key", data);
+        
+        final byte[] read = pStore.read("key");
+        
+        assertTrue(read != null);
+        assertTrue(ArrayUtils.isEquals(data, read));
+    }
+
+    protected void testRemove(final ResourceStore pStore) {
+        final byte[] data = { 1, 2, 3 };
+        pStore.write("key", data);
+        
+        final byte[] read = pStore.read("key");
+        
+        assertTrue(read != null);
+        assertTrue(ArrayUtils.isEquals(data, read));
+
+        pStore.remove("key");
+
+        final byte[] empty = pStore.read("key");
+        
+        assertTrue(empty == null);
+    }
+}

Added: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java?rev=232412&view=auto
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java (added)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/FileResourceStoreTestCase.java Fri Aug 12 19:49:43 2005
@@ -0,0 +1,31 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.jci.stores;
+
+
+
+public final class FileResourceStoreTestCase extends AbstractStoreTestCase {
+
+    public void testStore() {
+        final ResourceStore store = new FileResourceStore(directory);
+        super.testStore(store);
+    }
+    
+    public void testRemove() {
+        final ResourceStore store = new FileResourceStore(directory);
+        super.testRemove(store);
+    }
+}

Modified: jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/MemoryResourceStoreTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/MemoryResourceStoreTestCase.java?rev=232412&r1=232411&r2=232412&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/MemoryResourceStoreTestCase.java (original)
+++ jakarta/commons/sandbox/jci/trunk/src/test/org/apache/commons/jci/stores/MemoryResourceStoreTestCase.java Fri Aug 12 19:49:43 2005
@@ -15,38 +15,18 @@
  */
 package org.apache.commons.jci.stores;
 
-import junit.framework.TestCase;
 
 
-public final class MemoryResourceStoreTestCase extends TestCase {
+public final class MemoryResourceStoreTestCase extends AbstractStoreTestCase {
 
-    public void testStoring() {
+    public void testStore() {
         final ResourceStore store = new MemoryResourceStore();
-
-        final byte[] data = { 1, 2, 3 };
-        store.write("key", data);
-        
-        final byte[] read = store.read("key");
-        
-        assertTrue(read == data);
-        assertTrue(read.equals(data));
+        super.testStore(store);
+        assertTrue("[key]".equals(store.toString()));
     }
     
-    public void testRemoving() {
+    public void testRemove() {
         final ResourceStore store = new MemoryResourceStore();
-
-        final byte[] data = { 1, 2, 3 };
-        store.write("key", data);
-        
-        final byte[] read = store.read("key");
-        
-        assertTrue(read == data);
-        assertTrue(read.equals(data));
-
-        store.remove("key");
-
-        final byte[] empty = store.read("key");
-        
-        assertTrue(empty == null);
+        super.testRemove(store);
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org