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