From 7dae8dc7dc44341353ba46264e04429c1a85d234 Mon Sep 17 00:00:00 2001 From: Nikita Date: Sun, 8 Apr 2012 13:46:26 +0400 Subject: [PATCH] EncoderAckPacketTest, EncoderJsonPacketTest added --- .../socketio/parser/Encoder.java | 2 +- .../corundumstudio/socketio/parser/Event.java | 6 ++-- .../socketio/parser/Packet.java | 6 ++-- .../socketio/parser/EncoderAckPacketTest.java | 32 +++++++++++++++++++ .../parser/EncoderJsonPacketTest.java | 32 +++++++++++++++++++ 5 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 src/test/java/com/corundumstudio/socketio/parser/EncoderAckPacketTest.java create mode 100644 src/test/java/com/corundumstudio/socketio/parser/EncoderJsonPacketTest.java diff --git a/src/main/java/com/corundumstudio/socketio/parser/Encoder.java b/src/main/java/com/corundumstudio/socketio/parser/Encoder.java index 8788b53..107e4a1 100644 --- a/src/main/java/com/corundumstudio/socketio/parser/Encoder.java +++ b/src/main/java/com/corundumstudio/socketio/parser/Encoder.java @@ -67,7 +67,7 @@ public class Encoder { case ACK: String dataStr = packet.getAckId(); - if (packet.getArgs() != null) { + if (!packet.getArgs().isEmpty()) { dataStr += "+" + objectMapper.writeValueAsString(packet.getArgs()); } data = dataStr; diff --git a/src/main/java/com/corundumstudio/socketio/parser/Event.java b/src/main/java/com/corundumstudio/socketio/parser/Event.java index 6b8442a..fe121da 100644 --- a/src/main/java/com/corundumstudio/socketio/parser/Event.java +++ b/src/main/java/com/corundumstudio/socketio/parser/Event.java @@ -15,18 +15,18 @@ import java.util.List; public class Event { private String name; - private List args; + private List args; public Event() { } - public Event(String name, List args) { + public Event(String name, List args) { super(); this.name = name; this.args = args; } - public List getArgs() { + public List getArgs() { return args; } diff --git a/src/main/java/com/corundumstudio/socketio/parser/Packet.java b/src/main/java/com/corundumstudio/socketio/parser/Packet.java index c5d6cd6..a150e1a 100644 --- a/src/main/java/com/corundumstudio/socketio/parser/Packet.java +++ b/src/main/java/com/corundumstudio/socketio/parser/Packet.java @@ -19,7 +19,7 @@ public class Packet { public static final Packet NULL_INSTANCE = new Packet(null); private final PacketType type; - private List args = Collections.emptyList(); + private List args = Collections.emptyList(); private String qs; private Object ack; private String ackId; @@ -75,10 +75,10 @@ public class Packet { this.name = name; } - public List getArgs() { + public List getArgs() { return args; } - public void setArgs(List args) { + public void setArgs(List args) { this.args = args; } diff --git a/src/test/java/com/corundumstudio/socketio/parser/EncoderAckPacketTest.java b/src/test/java/com/corundumstudio/socketio/parser/EncoderAckPacketTest.java new file mode 100644 index 0000000..7032388 --- /dev/null +++ b/src/test/java/com/corundumstudio/socketio/parser/EncoderAckPacketTest.java @@ -0,0 +1,32 @@ +package com.corundumstudio.socketio.parser; + +import java.io.IOException; +import java.util.Arrays; + +import org.codehaus.jackson.map.ObjectMapper; +import org.junit.Assert; +import org.junit.Test; + +public class EncoderAckPacketTest { + + private Encoder encoder = new Encoder(new ObjectMapper()); + + @Test + public void testEncode() throws IOException { + Packet packet = new Packet(PacketType.ACK); + packet.setAckId("140"); + String result = encoder.encodePacket(packet); + Assert.assertEquals("6:::140", result); + } + + @Test + public void testEncodeWithArgs() throws IOException { + Packet packet = new Packet(PacketType.ACK); + packet.setAckId("12"); + packet.setArgs(Arrays.asList("woot", "wa")); + String result = encoder.encodePacket(packet); + Assert.assertEquals("6:::12+[\"woot\",\"wa\"]", result); + } + + +} diff --git a/src/test/java/com/corundumstudio/socketio/parser/EncoderJsonPacketTest.java b/src/test/java/com/corundumstudio/socketio/parser/EncoderJsonPacketTest.java new file mode 100644 index 0000000..d3ddc46 --- /dev/null +++ b/src/test/java/com/corundumstudio/socketio/parser/EncoderJsonPacketTest.java @@ -0,0 +1,32 @@ +package com.corundumstudio.socketio.parser; + +import java.io.IOException; +import java.util.Collections; + +import org.codehaus.jackson.map.ObjectMapper; +import org.junit.Assert; +import org.junit.Test; + +public class EncoderJsonPacketTest { + + private Encoder encoder = new Encoder(new ObjectMapper()); + + @Test + public void testEncode() throws IOException { + Packet packet = new Packet(PacketType.JSON); + packet.setData("2"); + String result = encoder.encodePacket(packet); + Assert.assertEquals("4:::\"2\"", result); + } + + @Test + public void testEncodeWithMessageIdAndAckData() throws IOException { + Packet packet = new Packet(PacketType.JSON); + packet.setId("1"); + packet.setAck("data"); + packet.setData(Collections.singletonMap("a", "b")); + String result = encoder.encodePacket(packet); + Assert.assertEquals("4:1+::{\"a\":\"b\"}", result); + } + +}