Browse Source

beef up the echoserver test

v0.7.4-release
Ryan 16 years ago
parent
commit
f3f9a08de1
  1. 13
      test/test-echoServer.js

13
test/test-echoServer.js

@ -1,16 +1,17 @@
include("mjsunit"); include("mjsunit");
function onLoad() { function onLoad() {
server = new Server(1024); server = new Server(1024);
puts("listening at port 12123") var count = 0;
server.listenTCP(12123, function (connection) { server.listenTCP(12123, function (connection) {
puts("got connection."); puts("got connection.");
connection.onRead = function (data) { connection.onRead = function (data) {
assertTrue(count <= 10);
if (data === null) { if (data === null) {
server.close(); server.close();
connection.close(); connection.close();
return; return;
} }
puts ("server read: " + data.toString()); stdout.write ("-");
if (/QUIT/.exec(data)) { if (/QUIT/.exec(data)) {
server.close(); server.close();
connection.close(); connection.close();
@ -21,24 +22,24 @@ function onLoad() {
}); });
socket = new Socket; socket = new Socket;
var count = 0;
socket.onRead = function (data) { socket.onRead = function (data) {
puts ("client read: " + data.toString()); stdout.write (".");
assertEquals("PONG", data); assertEquals("PONG", data);
setTimeout(function() { setTimeout(function() {
count += 1; count += 1;
if (count < 10) { if (count < 10) {
socket.write("PING"); socket.write("PING");
} else { } else {
stdout.write ("\n");
socket.write("QUIT\n"); socket.write("QUIT\n");
socket.close(); socket.close();
} }
}, 100); }, 100);
}; };
socket.onClose = function () { socket.onClose = function () {
puts("socket close.");
assertEquals(10, count); assertEquals(10, count);
} };
socket.connectTCP(12123, "localhost", function (status) { socket.connectTCP(12123, "localhost", function (status) {
if(status != 0) if(status != 0)

Loading…
Cancel
Save