add tests

This commit is contained in:
Naoyuki Kanezawa
2014-07-23 01:32:04 +09:00
parent ba3a311e69
commit 9edb6f59d4
2 changed files with 64 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ import static org.junit.Assert.assertThat;
public class ServerConnectionTest extends Connection { public class ServerConnectionTest extends Connection {
private Socket socket; private Socket socket;
private Socket socket2;
@Test(timeout = TIMEOUT) @Test(timeout = TIMEOUT)
public void openAndClose() throws URISyntaxException, InterruptedException { public void openAndClose() throws URISyntaxException, InterruptedException {
@@ -181,4 +182,62 @@ public class ServerConnectionTest extends Connection {
socket.connect(); socket.connect();
semaphore.acquire(); semaphore.acquire();
} }
@Test(timeout = TIMEOUT)
public void closeEngineConnection() throws URISyntaxException, InterruptedException {
final Semaphore semaphore = new Semaphore(0);
socket = client();
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
socket.io().engine.on(com.github.nkzawa.engineio.client.Socket.EVENT_CLOSE, new Emitter.Listener() {
@Override
public void call(Object... objects) {
semaphore.release();
}
});
socket.disconnect();
}
});
socket.connect();
semaphore.acquire();
}
@Test(timeout = TIMEOUT)
public void broadcast() 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) {
try {
socket2 = client();
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
socket2.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... objects) {
socket2.emit("broadcast", "hi");
}
});
socket2.connect();
}
}).on("broadcastBack", new Emitter.Listener() {
@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();
semaphore.release();
}
});
socket.connect();
semaphore.acquire();
}
} }

View File

@@ -45,6 +45,11 @@ io.of(nsp).on('connection', function(socket) {
callback(new Date()); callback(new Date());
}); });
socket.on('broadcast', function(data) {
var args = slice.call(arguments);
socket.broadcast.emit.apply(socket, ['broadcastBack'].concat(args));
});
socket.on('disconnect', function() { socket.on('disconnect', function() {
console.log('disconnect'); console.log('disconnect');
}); });