tests/libjava-mauve/src/gnu/testlet/java/lang/reflect/Method/invoke.java
branchjk_new_structure
changeset 1541 75c2e24dea9a
parent 1540 92ac284961c1
child 1542 be11db817bcf
--- a/tests/libjava-mauve/src/gnu/testlet/java/lang/reflect/Method/invoke.java	Fri Jul 20 21:39:51 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-// Tags: JDK1.1
-// Uses: ../sub/InvokeHelper iface
-
-// Copyright (C) 1999, 2000, 2001, 2003, 2004 Cygnus Solutions
-
-// This file is part of Mauve.
-
-// Mauve is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// Mauve is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Mauve; see the file COPYING.  If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330,
-// Boston, MA 02111-1307, USA.  */
-
-package gnu.testlet.java.lang.reflect.Method;
-
-import gnu.testlet.Testlet;
-import gnu.testlet.TestHarness;
-import gnu.testlet.java.lang.reflect.sub.InvokeHelper;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-public class invoke implements Testlet, iface
-{
-  int save = 0;
-
-  // Don't use `.class' because gcj doesn't handle it yet.
-  static Class tclass = null;
-
-  static
-  {
-    try
-      {
-	tclass = Class.forName("java.lang.Throwable");
-      }
-    catch (Throwable _)
-      {
-	// Nothing.
-      }
-  }
-
-  public String no_args ()
-  {
-    return "zardoz";
-  }
-
-  private String private_method ()
-  {
-    return "ok";
-  }
-
-  // Note that this is not overridden by InvokeHelper.p().
-  String p ()
-  {
-    return "ppm";
-  }
-
-  public static int takes_int (int val)
-  {
-    if (val < 0)
-      throw new IllegalArgumentException ();
-    return val + 3;
-  }
-
-  public void returns_void (Integer val1, Integer val2)
-  {
-    save = val1.intValue() + val2.intValue();
-  }
-
-  public void try_invoke (TestHarness harness, Method method,
-			  Object obj, Object[] args, Object expect)
-  {
-    Object result = null;
-    try
-      {
-	result = method.invoke (obj, args);
-      }
-    catch (Throwable t)
-      {
-	result = t;
-      }
-
-    if (tclass.isInstance(expect))
-      {
-	// We're expecting an exception, so just make sure the types
-	// match.
-	harness.check(result.getClass(), expect.getClass());
-      }
-    else
-      harness.check(result, expect);
-  }
-
-  public Method getMethod (Class ic, String name, Class[] list)
-  {
-    Method m = null;
-    try
-      {
-	m = ic.getMethod(name, list);
-      }
-    catch (Throwable _)
-      {
-	// Nothing.
-      }
-    return m;
-  }
-
-  public Method getDeclaredMethod (Class ic, String name, Class[] list)
-  {
-    Method m = null;
-    try
-      {
-	m = ic.getDeclaredMethod(name, list);
-      }
-    catch (Throwable _)
-      {
-	// Nothing.
-      }
-    return m;
-  }
-
-  public void test (TestHarness harness)
-  {
-    // Don't use `.class' because gcj doesn't handle it yet.
-    Class[] ic = new Class[2];
-    try
-      {
-	ic[0] = Class.forName("gnu.testlet.java.lang.reflect.Method.invoke");
-	ic[1] = Class.forName("gnu.testlet.java.lang.reflect.Method.iface");
-      }
-    catch (Throwable _)
-      {
-	// Just lose.
-      }
-
-    for (int i = 0; i < ic.length; ++i)
-      {
-	Class[] na_list = new Class[0];
-	Method na_meth = getMethod (ic[i], "no_args", na_list);
-
-	Class[] ti_list = new Class[1];
-	ti_list[0] = Integer.TYPE;
-	Method ti_meth = getMethod (ic[i], "takes_int", ti_list);
-
-	Class[] rv_list = new Class[2];
-	rv_list[0] = null;
-	try
-	  {
-	    rv_list[0] = Class.forName("java.lang.Integer");
-	  }
-	catch (Throwable _)
-	  {
-	    // Just lose.
-	  }
-	rv_list[1] = rv_list[0];
-	Method rv_meth = getMethod (ic[i], "returns_void", rv_list);
-
-	harness.checkPoint ("no_args for " + ic[i]);
-	Object[] args0 = new Object[0];
-	// Successful invocation.
-	try_invoke (harness, na_meth, this, args0, "zardoz");
-	// Null `this' should fail.
-	try_invoke (harness, na_meth, null, args0,
-		    new NullPointerException ());
-	if (! ic[i].isInterface())
-	  {
-	    // Too few arguments.
-	    try_invoke (harness, ti_meth, this, args0,
-			new IllegalArgumentException ());
-	  }
-
-	// Wrong class for `this'.
-	try_invoke (harness, na_meth, new NullPointerException (),
-		    args0, new IllegalArgumentException ());
-
-	// null argument list is ok, at least according to JDK
-	// implementation.
-	try_invoke (harness, na_meth, this, null, "zardoz");
-
-	if (! ic[i].isInterface())
-	  {
-	    harness.checkPoint ("takes_int for " + ic[i]);
-	    Object[] args1 = new Object[1];
-	    args1[0] = new Integer (5);
-	    try_invoke (harness, na_meth, this, args1,
-			new IllegalArgumentException ());
-	    try_invoke (harness, ti_meth, this, args1, new Integer (8));
-	    // null should work for object as this is a static method.
-	    try_invoke (harness, ti_meth, null, args1, new Integer (8));
-	    args1[0] = "joe louis";
-	    try_invoke (harness, ti_meth, null, args1,
-			new IllegalArgumentException ());
-	    args1[0] = new Short ((short) 3);
-	    try_invoke (harness, ti_meth, null, args1, new Integer (6));
-	    args1[0] = new Long (72);
-	    try_invoke (harness, ti_meth, null, args1,
-			new IllegalArgumentException ());
-	    args1[0] = null;
-	    try_invoke (harness, ti_meth, null, args1,
-			new IllegalArgumentException ());
-	    args1[0] = new Integer (-5);
-	    try_invoke (harness, ti_meth, null, args1,
-			new InvocationTargetException (new IllegalArgumentException ()));
-	  }
-
-	harness.checkPoint ("returns_void for " + ic[i]);
-	Object[] args2 = new Object[2];
-	args2[0] = new Integer (7);
-	args2[1] = new Integer (8);
-	try_invoke (harness, rv_meth, this, args2, null);
-	harness.check(save, 15);
-
-	harness.checkPoint("invoke private method");
-	Method pvm = getDeclaredMethod(ic[0], "private_method", null);
-	try_invoke (harness, pvm, this, null, "ok");
-
-	harness.checkPoint("invoke package-private method");
-	Method ppvm = getDeclaredMethod(ic[0], "p", null);
-	invoke sub = new InvokeHelper();
-	try_invoke (harness, ppvm, sub, null, "ppm");
-      }
-  }
-}