[jboss-cvs] javassist SVN: r638 - in trunk/src/test: test/javassist/proxy and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jun 14 12:46:09 EDT 2012
Author: chiba
Date: 2012-06-14 12:46:08 -0400 (Thu, 14 Jun 2012)
New Revision: 638
Added:
trunk/src/test/test/javassist/proxy/Foo.java
trunk/src/test/test/javassist/proxy/JBPAPP9257Test.java
Modified:
trunk/src/test/javassist/JvstTest.java
Log:
test cases taken from 3.12 for JBPAPP9257
Modified: trunk/src/test/javassist/JvstTest.java
===================================================================
--- trunk/src/test/javassist/JvstTest.java 2012-06-14 16:40:11 UTC (rev 637)
+++ trunk/src/test/javassist/JvstTest.java 2012-06-14 16:46:08 UTC (rev 638)
@@ -1122,6 +1122,7 @@
suite.addTestSuite(test.javassist.proxy.ProxySerializationTest.class);
suite.addTestSuite(test.javassist.convert.ArrayAccessReplaceTest.class);
suite.addTestSuite(test.javassist.proxy.JASSIST113RegressionTest.class);
+ suite.addTestSuite(test.javassist.proxy.JBPAPP9257Test.class);
//suite.addTestSuite(test.javassist.proxy.ProxyCacheGCTest.class);
suite.addTestSuite(test.javassist.proxy.ProxyFactoryCompatibilityTest.class);
suite.addTestSuite(test.javassist.proxy.ProxySerializationTest.class);
Added: trunk/src/test/test/javassist/proxy/Foo.java
===================================================================
--- trunk/src/test/test/javassist/proxy/Foo.java (rev 0)
+++ trunk/src/test/test/javassist/proxy/Foo.java 2012-06-14 16:46:08 UTC (rev 638)
@@ -0,0 +1,16 @@
+package test.javassist.proxy;
+
+public class Foo {
+ public String doSomething() {
+ return "I'm doing something";
+ }
+
+ public Object getHandler() {
+ return "This is a secret handler";
+ }
+}
+
+class Foo2 {
+ public String doSomething() { return "do something"; }
+ public String getHandler() { return "return a string"; }
+}
\ No newline at end of file
Property changes on: trunk/src/test/test/javassist/proxy/Foo.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/src/test/test/javassist/proxy/JBPAPP9257Test.java
===================================================================
--- trunk/src/test/test/javassist/proxy/JBPAPP9257Test.java (rev 0)
+++ trunk/src/test/test/javassist/proxy/JBPAPP9257Test.java 2012-06-14 16:46:08 UTC (rev 638)
@@ -0,0 +1,65 @@
+package test.javassist.proxy;
+
+import java.lang.reflect.Method;
+import javassist.util.proxy.ProxyFactory;
+import javassist.util.proxy.MethodHandler;
+import javassist.util.proxy.MethodFilter;
+import javassist.util.proxy.ProxyObject;
+import javassist.util.proxy.Proxy;
+import junit.framework.TestCase;
+
+public class JBPAPP9257Test extends TestCase {
+ public void testGetHandler() throws Exception {
+ ProxyFactory f = new ProxyFactory();
+ f.setSuperclass(Foo.class);
+ f.setFilter(new MethodFilter() {
+ public boolean isHandled(Method m) {
+ // ignore finalize()
+ return !m.getName().equals("finalize");
+ }
+ });
+ Class c = f.createClass();
+ MethodHandler mi = new MethodHandler() {
+ public Object invoke(Object self, Method m, Method proceed,
+ Object[] args) throws Throwable {
+ System.out.println("Name: " + m.getName());
+ return proceed.invoke(self, args) + "!"; // execute the original
+ // method.
+ }
+ };
+ Foo foo = (Foo) c.newInstance();
+ try {
+ ((ProxyObject)foo).setHandler(mi);
+ fail("foo is a ProxyObject!");
+ } catch (ClassCastException e) {}
+ ((Proxy)foo).setHandler(mi);
+ assertEquals("I'm doing something!", foo.doSomething());
+ }
+
+ public void testGetHandler2() throws Exception {
+ ProxyFactory f = new ProxyFactory();
+ f.setSuperclass(Foo2.class);
+ f.setFilter(new MethodFilter() {
+ public boolean isHandled(Method m) {
+ // ignore finalize()
+ return !m.getName().equals("finalize");
+ }
+ });
+ Class c = f.createClass();
+ MethodHandler mi = new MethodHandler() {
+ public Object invoke(Object self, Method m, Method proceed,
+ Object[] args) throws Throwable {
+ System.out.println("Name: " + m.getName());
+ return proceed.invoke(self, args) + "!"; // execute the original
+ // method.
+ }
+ };
+ Foo2 foo = (Foo2)c.newInstance();
+ try {
+ ((ProxyObject)foo).setHandler(mi);
+ fail("foo is a ProxyObject!");
+ } catch (ClassCastException e) {}
+ ((Proxy)foo).setHandler(mi);
+ assertEquals("do something!", foo.doSomething());
+ }
+}
Property changes on: trunk/src/test/test/javassist/proxy/JBPAPP9257Test.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
More information about the jboss-cvs-commits
mailing list