[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