package uk.co.badgersinfoil.metaas.impl; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import junit.framework.TestCase; public class AS3FragmentParserTest extends TestCase { public void testParseStatement() throws Exception { assertParseMethodFailsFor("parseStatement", "+-"); } public void testParseExprStatement() throws Exception { assertParseMethodFailsFor("parseExprStatement", ""); } public void testParseCondition() throws Exception { assertParseMethodFailsFor("parseCondition", ""); } public void testParseExpr() throws Exception { assertParseMethodFailsFor("parseExpr", ""); } public void testParseExprList() throws Exception { assertParseMethodFailsFor("parseExprList", ""); } public void testParseIdent() throws Exception { assertParseMethodFailsFor("parseIdent", ""); } public void testParseParameterDefault() throws Exception { assertParseMethodFailsFor("parseParameterDefault", ""); } public void testParseForInit() throws Exception { assertParseMethodFailsFor("parseForInit", "+-"); assertParseMethodFailsFor("parseForInit", "class"); } public void testParseForCond() throws Exception { assertParseMethodFailsFor("parseForCond", "+-"); assertParseMethodFailsFor("parseForCond", "class"); } public void testParseForIter() throws Exception { assertParseMethodFailsFor("parseForIter", "+-"); assertParseMethodFailsFor("parseForIter", "class"); } public void testParseImport() throws Exception { assertParseMethodFailsFor("parseImport", ""); } public void testParseTypeSpec() throws Exception { assertParseMethodFailsFor("parseTypeSpec", ""); assertParseMethodFailsFor("parseTypeSpec", "String*"); } public void testParseForInVar() throws Exception { assertParseMethodFailsFor("parseForInVar", ""); } public void testParseForInIterated() throws Exception { assertParseMethodFailsFor("parseForInIterated", ""); } public void testParseVariableDeclarator() throws Exception { assertParseMethodFailsFor("parseVariableDeclarator", ""); } private static void assertParseMethodFailsFor(String methodName, String input) throws Exception { Method meth = AS3FragmentParser.class.getMethod(methodName, new Class[] { String.class }); try { meth.invoke(null, new Object[] { input }); fail(methodName+"(\""+input+"\") should fail"); } catch (InvocationTargetException e) { // expected } } }