1 package org.codehaus.groovy.syntax.parser; 2 3 import java.io.ByteArrayInputStream ; 4 5 import org.codehaus.groovy.classgen.TestSupport; 6 import org.codehaus.groovy.control.CompilationFailedException; 7 8 12 public class ReturnTypeErrorTest extends TestSupport { 13 14 public void testInvalidValueReturnStatement() throws Exception { 15 doCompile( 16 "class zup {\n" 17 + " void foo() {\n" 18 + " return 3;" 19 + " }\n" 20 + "}\n"); 21 } 22 23 public void testInvalidValueReturnStatement2() throws Exception { 24 doCompile( 25 "class zup {\n" 26 + " void foo() {\n" 27 + " if (true) \n" 28 + " return \n" 29 + " else \n" 30 + " return 'Foo' \n" 31 + " }\n" 32 + "}\n"); 33 } 34 35 protected void doCompile(String code) throws Exception { 36 try { 37 loader.parseClass(new ByteArrayInputStream (code.getBytes()), getMethodName() + ".groovy"); 38 } 39 catch( CompilationFailedException e ) { 40 Exception cause = e.getUnit().getException(0); 41 if( cause instanceof RuntimeParserException ) { 42 return; 43 } 44 throw e; 45 } 46 fail("Should have caught a RuntimeParserException"); 47 } 48 49 } 50 | Popular Tags |