1 package org.nanocontainer.script.groovy; 2 3 import java.io.CharArrayWriter ; 4 import java.io.PrintWriter ; 5 import java.io.Reader ; 6 import java.io.StringReader ; 7 8 import org.nanocontainer.script.AbstractScriptedContainerBuilderTestCase; 9 import org.picocontainer.PicoContainer; 10 11 15 public class GroovyCompilationExceptionTestCase extends AbstractScriptedContainerBuilderTestCase { 16 17 18 public void testGroovyCompilationExceptionContainsOriginalReasonInStackTrace() { 19 Reader script = new StringReader ("" + 21 "def unresolvedVariable = new TestBean()\n" + 22 ""); 23 24 try { 25 buildContainer(script, null, "Some Assembly Scope"); 26 } catch (GroovyCompilationException ex) { 27 CharArrayWriter outputArray = new CharArrayWriter (); 28 PrintWriter output = new PrintWriter (outputArray); 29 ex.printStackTrace(output); 30 String resultingString = outputArray.toString(); 31 33 assertTrue(resultingString.indexOf("Caused by") > -1); 34 35 assertTrue(resultingString.indexOf("unable to resolve class TestBean") > -1); 37 } 38 } 39 40 private PicoContainer buildContainer(Reader script, PicoContainer parent, Object scope) { 41 return buildContainer(new GroovyContainerBuilder(script, getClass().getClassLoader()), parent, scope); 42 } 43 44 45 } 46 | Popular Tags |