From 65813b58597484fd57e58cc7588684bae30e10d5 Mon Sep 17 00:00:00 2001 From: Naoyuki Kanezawa Date: Sun, 17 Aug 2014 02:41:39 +0900 Subject: [PATCH] add a test for room --- .../socketio/client/ServerConnectionTest.java | 24 ++++++++++++++++++- src/test/resources/server.js | 5 ++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/github/nkzawa/socketio/client/ServerConnectionTest.java b/src/test/java/com/github/nkzawa/socketio/client/ServerConnectionTest.java index 3a5e839..2ad8dcc 100644 --- a/src/test/java/com/github/nkzawa/socketio/client/ServerConnectionTest.java +++ b/src/test/java/com/github/nkzawa/socketio/client/ServerConnectionTest.java @@ -230,7 +230,6 @@ public class ServerConnectionTest extends Connection { @Override public void call(Object... objects) { assertThat(objects.length, is(1)); - assertThat(objects[0], is(instanceOf(String.class))); assertThat((String)objects[0], is("hi")); socket.disconnect(); socket2.disconnect(); @@ -240,4 +239,27 @@ public class ServerConnectionTest extends Connection { socket.connect(); semaphore.acquire(); } + + @Test(timeout = TIMEOUT) + public void room() throws URISyntaxException, InterruptedException { + final Semaphore semaphore = new Semaphore(0); + + socket = client(); + socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() { + @Override + public void call(Object... objects) { + socket.emit("room", "hi"); + } + }).on("roomBack", new Emitter.Listener() { + @Override + public void call(Object... objects) { + assertThat(objects.length, is(1)); + assertThat((String)objects[0], is("hi")); + socket.disconnect(); + semaphore.release(); + } + }); + socket.connect(); + semaphore.acquire(); + } } diff --git a/src/test/resources/server.js b/src/test/resources/server.js index 887c7ba..4414c4a 100644 --- a/src/test/resources/server.js +++ b/src/test/resources/server.js @@ -50,6 +50,11 @@ io.of(nsp).on('connection', function(socket) { socket.broadcast.emit.apply(socket, ['broadcastBack'].concat(args)); }); + socket.on('room', function() { + var args = slice.call(arguments); + io.to(socket.id).emit.apply(socket, ['roomBack'].concat(args)); + }); + socket.on('disconnect', function() { console.log('disconnect'); });