You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/02/20 19:35:40 UTC

svn commit: r1448342 - in /tomcat/trunk: java/org/apache/tomcat/websocket/Util.java test/org/apache/tomcat/websocket/TestUtil.java

Author: markt
Date: Wed Feb 20 18:35:39 2013
New Revision: 1448342

URL: http://svn.apache.org/r1448342
Log:
Add tests for Encoders

Modified:
    tomcat/trunk/java/org/apache/tomcat/websocket/Util.java
    tomcat/trunk/test/org/apache/tomcat/websocket/TestUtil.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/Util.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/Util.java?rev=1448342&r1=1448341&r2=1448342&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/Util.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/Util.java Wed Feb 20 18:35:39 2013
@@ -26,6 +26,7 @@ import java.util.concurrent.ConcurrentLi
 
 import javax.websocket.CloseReason.CloseCode;
 import javax.websocket.CloseReason.CloseCodes;
+import javax.websocket.Encoder;
 import javax.websocket.MessageHandler;
 
 /**
@@ -141,6 +142,12 @@ class Util {
     }
 
 
+    static Class<?> getEncoderType(Encoder encoder) {
+        return (Class<?>) Util.getGenericType(Encoder.class,
+                encoder.getClass());
+    }
+
+
     private static <T> Object getGenericType(Class<T> type,
             Class<? extends T> clazz) {
 

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TestUtil.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestUtil.java?rev=1448342&r1=1448341&r2=1448342&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestUtil.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestUtil.java Wed Feb 20 18:35:39 2013
@@ -16,6 +16,8 @@
  */
 package org.apache.tomcat.websocket;
 
+import javax.websocket.EncodeException;
+import javax.websocket.Encoder;
 import javax.websocket.MessageHandler;
 
 import org.junit.Assert;
@@ -26,39 +28,75 @@ public class TestUtil {
     @Test
     public void testGetMessageTypeSimple() {
         Assert.assertEquals(
-                String.class, Util.getMessageType(new Simple()));
+                String.class, Util.getMessageType(new SimpleMessageHandler()));
     }
 
 
     @Test
     public void testGetMessageTypeSubclass() {
         Assert.assertEquals(String.class,
-                Util.getMessageType(new SubSimple()));
+                Util.getMessageType(new SubSimpleMessageHandler()));
     }
 
 
     @Test
     public void testGetMessageTypeGenericSubclass() {
         Assert.assertEquals(String.class,
-                Util.getMessageType(new GenericSub()));
+                Util.getMessageType(new GenericSubMessageHandler()));
     }
 
 
     @Test
     public void testGetMessageTypeGenericMultipleSubclass() {
         Assert.assertEquals(String.class,
-                Util.getMessageType(new GenericMultipleSubSub()));
+                Util.getMessageType(new GenericMultipleSubSubMessageHandler()));
     }
 
 
     @Test
     public void testGetMessageTypeGenericMultipleSubclassSwap() {
         Assert.assertEquals(String.class,
-                Util.getMessageType(new GenericMultipleSubSubSwap()));
+                Util.getMessageType(new GenericMultipleSubSubSwapMessageHandler()));
     }
 
 
-    private static class Simple implements MessageHandler.Basic<String> {
+    @Test
+    public void testGetEncoderTypeSimple() {
+        Assert.assertEquals(
+                String.class, Util.getEncoderType(new SimpleEncoder()));
+    }
+
+
+    @Test
+    public void testGetEncoderTypeSubclass() {
+        Assert.assertEquals(String.class,
+                Util.getEncoderType(new SubSimpleEncoder()));
+    }
+
+
+    @Test
+    public void testGetEncoderTypeGenericSubclass() {
+        Assert.assertEquals(String.class,
+                Util.getEncoderType(new GenericSubEncoder()));
+    }
+
+
+    @Test
+    public void testGetEncoderTypeGenericMultipleSubclass() {
+        Assert.assertEquals(String.class,
+                Util.getEncoderType(new GenericMultipleSubSubEncoder()));
+    }
+
+
+    @Test
+    public void testGetEncoderTypeGenericMultipleSubclassSwap() {
+        Assert.assertEquals(String.class,
+                Util.getEncoderType(new GenericMultipleSubSubSwapEncoder()));
+    }
+
+
+    private static class SimpleMessageHandler
+            implements MessageHandler.Basic<String> {
         @Override
         public void onMessage(String message) {
             // NO-OP
@@ -66,16 +104,17 @@ public class TestUtil {
     }
 
 
-    private static class SubSimple extends Simple {
+    private static class SubSimpleMessageHandler extends SimpleMessageHandler {
     }
 
 
-    private abstract static class Generic<T>
+    private abstract static class GenericMessageHandler<T>
             implements MessageHandler.Basic<T> {
     }
 
 
-    private static class GenericSub extends Generic<String>{
+    private static class GenericSubMessageHandler
+            extends GenericMessageHandler<String>{
 
         @Override
         public void onMessage(String message) {
@@ -89,18 +128,18 @@ public class TestUtil {
     }
 
 
-    private abstract static class GenericMultiple<A,B>
+    private abstract static class GenericMultipleMessageHandler<A,B>
             implements MessageHandler.Basic<A>, Foo<B> {
     }
 
 
-    private abstract static class GenericMultipleSub<X,Y>
-            extends GenericMultiple<X,Y> {
+    private abstract static class GenericMultipleSubMessageHandler<X,Y>
+            extends GenericMultipleMessageHandler<X,Y> {
     }
 
 
-    private static class GenericMultipleSubSub
-            extends GenericMultipleSub<String,Boolean> {
+    private static class GenericMultipleSubSubMessageHandler
+            extends GenericMultipleSubMessageHandler<String,Boolean> {
 
         @Override
         public void onMessage(String message) {
@@ -114,13 +153,13 @@ public class TestUtil {
     }
 
 
-    private abstract static class GenericMultipleSubSwap<Y,X>
-            extends GenericMultiple<X,Y> {
+    private abstract static class GenericMultipleSubSwapMessageHandler<Y,X>
+            extends GenericMultipleMessageHandler<X,Y> {
     }
 
 
-    private static class GenericMultipleSubSubSwap
-            extends GenericMultipleSubSwap<Boolean,String> {
+    private static class GenericMultipleSubSubSwapMessageHandler
+            extends GenericMultipleSubSwapMessageHandler<Boolean,String> {
 
         @Override
         public void onMessage(String message) {
@@ -134,4 +173,78 @@ public class TestUtil {
     }
 
 
+    private static class SimpleEncoder
+            implements Encoder.Text<String> {
+
+        @Override
+        public String encode(String object) throws EncodeException {
+            return null;
+        }
+    }
+
+
+    private static class SubSimpleEncoder extends SimpleEncoder {
+    }
+
+
+    private abstract static class GenericEncoder<T>
+            implements Encoder.Text<T> {
+    }
+
+
+    private static class GenericSubEncoder
+            extends GenericEncoder<String>{
+
+        @Override
+        public String encode(String object) throws EncodeException {
+            return null;
+        }
+
+    }
+
+
+    private abstract static class GenericMultipleEncoder<A,B>
+            implements Encoder.Text<A>, Foo<B> {
+    }
+
+
+    private abstract static class GenericMultipleSubEncoder<X,Y>
+            extends GenericMultipleEncoder<X,Y> {
+    }
+
+
+    private static class GenericMultipleSubSubEncoder
+            extends GenericMultipleSubEncoder<String,Boolean> {
+
+        @Override
+        public String encode(String object) throws EncodeException {
+            return null;
+        }
+
+        @Override
+        public void doSomething(Boolean thing) {
+            // NO-OP
+        }
+
+    }
+
+
+    private abstract static class GenericMultipleSubSwapEncoder<Y,X>
+            extends GenericMultipleEncoder<X,Y> {
+    }
+
+
+    private static class GenericMultipleSubSubSwapEncoder
+            extends GenericMultipleSubSwapEncoder<Boolean,String> {
+
+        @Override
+        public String encode(String object) throws EncodeException {
+            return null;
+        }
+
+        @Override
+        public void doSomething(Boolean thing) {
+            // NO-OP
+        }
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org