add tests
This commit is contained in:
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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');
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user