diff --git a/tests/io/socket/TestSocketIO.java b/tests/io/socket/TestSocketIO.java index bf25e04..1b30f05 100644 --- a/tests/io/socket/TestSocketIO.java +++ b/tests/io/socket/TestSocketIO.java @@ -5,9 +5,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.net.MalformedURLException; import java.util.Arrays; -import java.util.LinkedList; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; @@ -21,9 +19,9 @@ @RunWith(io.socket.RandomBlockJUnit4ClassRunner.class) public class TestSocketIO implements IOCallback { - private final static String NODE = "C:\\Program Files (x86)\\nodejs\\node.exe"; + private final static String NODE = "/opt/local/bin/node"; private static final int PORT = 10214; - private static final int TIMEOUT = 2; + private static final int TIMEOUT = 200; LinkedBlockingQueue events; LinkedBlockingQueue outputs; LinkedBlockingQueue args; @@ -47,7 +45,7 @@ public void setUp() throws Exception { outputs = new LinkedBlockingQueue(); args = new LinkedBlockingQueue(); node = Runtime.getRuntime().exec( - new String[] { NODE, "./node/socketio.js", "" + PORT }); + new String[] { NODE, "./tests/io/socket/socketio.js", "" + PORT }); stdoutThread = new Thread("stdoutThread") { public void run() { @@ -222,6 +220,21 @@ public void error() throws Exception { assertEquals("onError", takeEvent()); doClose(); } + + @Test + public void acknowledge() throws Exception { + doConnect(); + socket.emit("echoAck", new IOAcknowledge() { + @Override + public void ack(Object... args) { + events.add("ack"); + TestSocketIO.this.args.addAll(Arrays.asList(args)); + } + }, "TESTSTRING"); + assertEquals("ack", takeEvent()); + assertEquals("TESTSTRING", takeArg()); + doClose(); + } // END TESTS