Browse Source

Fix test-repl

v0.7.4-release
Ryan Dahl 15 years ago
parent
commit
a6942b345d
  1. 2
      lib/repl.js
  2. 45
      test/simple/test-repl.js

2
lib/repl.js

@ -43,7 +43,7 @@ function REPLServer(prompt, stream) {
self.buffered_cmd = '';
self.stream = stream || process.openStdin();
self.prompt = "node> " || prompt;
self.prompt = prompt || "node> ";
var isTTY = (self.stream.fd < 3);
var rli = self.rli = rl.createInterface(self.stream, isTTY);

45
test/simple/test-repl.js

@ -1,4 +1,5 @@
require("../common");
var sys = require("sys"),
net = require("net"),
repl = require("repl"),
@ -7,8 +8,8 @@ var sys = require("sys"),
prompt_unix = "node via Unix socket> ",
prompt_tcp = "node via TCP socket> ",
server_tcp, server_unix, client_tcp, client_unix, timer;
debug('repl test');
error('repl test');
// function for REPL to run
invoke_me = function (arg) {
@ -19,6 +20,8 @@ function send_expect(list) {
if (list.length > 0) {
var cur = list.shift();
error("sending " + JSON.stringify(cur.send));
cur.client.expect = cur.expect;
cur.client.list = list;
if (cur.send.length > 0) {
@ -31,7 +34,7 @@ function tcp_test() {
server_tcp = net.createServer(function (socket) {
assert.strictEqual(server_tcp, socket.server);
assert.strictEqual(server_tcp.type, 'tcp4');
socket.addListener("end", function () {
socket.end();
});
@ -41,7 +44,7 @@ function tcp_test() {
server_tcp.addListener('listening', function () {
var read_buffer = "";
client_tcp = net.createConnection(PORT);
client_tcp.addListener('connect', function () {
@ -50,14 +53,14 @@ function tcp_test() {
send_expect([
{ client: client_tcp, send: "", expect: prompt_tcp },
{ client: client_tcp, send: "invoke_me(333)", expect: ('\'' + "invoked 333" + '\'\n' + prompt_tcp) },
{ client: client_tcp, send: "a += 1", expect: ("12346" + '\n' + prompt_tcp) }
{ client: client_tcp, send: "invoke_me(333)\n", expect: ('\'' + "invoked 333" + '\'\n' + prompt_tcp) },
{ client: client_tcp, send: "a += 1\n", expect: ("12346" + '\n' + prompt_tcp) }
]);
});
client_tcp.addListener('data', function (data) {
read_buffer += data.asciiSlice(0, data.length);
sys.puts("TCP data: " + read_buffer + ", expecting " + client_tcp.expect);
error("TCP data: " + JSON.stringify(read_buffer) + ", expecting " + JSON.stringify(client_tcp.expect));
if (read_buffer.indexOf(prompt_tcp) !== -1) {
assert.strictEqual(client_tcp.expect, read_buffer);
read_buffer = "";
@ -65,21 +68,21 @@ function tcp_test() {
send_expect(client_tcp.list);
}
else {
sys.puts("End of TCP test.");
error("End of TCP test.");
client_tcp.end();
client_unix.end();
clearTimeout(timer);
}
}
else {
sys.puts("didn't see prompt yet, buffering");
error("didn't see prompt yet, buffering");
}
});
client_tcp.addListener("error", function (e) {
throw e;
});
client_tcp.addListener("close", function () {
server_tcp.close();
});
@ -102,7 +105,7 @@ function unix_test() {
server_unix.addListener('listening', function () {
var read_buffer = "";
client_unix = net.createConnection(unix_socket_path);
client_unix.addListener('connect', function () {
@ -111,31 +114,31 @@ function unix_test() {
send_expect([
{ client: client_unix, send: "", expect: prompt_unix },
{ client: client_unix, send: "message", expect: ('\'' + message + '\'\n' + prompt_unix) },
{ client: client_unix, send: "invoke_me(987)", expect: ('\'' + "invoked 987" + '\'\n' + prompt_unix) },
{ client: client_unix, send: "a = 12345", expect: ("12345" + '\n' + prompt_unix) }
{ client: client_unix, send: "message\n", expect: ('\'' + message + '\'\n' + prompt_unix) },
{ client: client_unix, send: "invoke_me(987)\n", expect: ('\'' + "invoked 987" + '\'\n' + prompt_unix) },
{ client: client_unix, send: "a = 12345\n", expect: ("12345" + '\n' + prompt_unix) }
]);
});
client_unix.addListener('data', function (data) {
read_buffer += data.asciiSlice(0, data.length);
sys.puts("Unix data: " + read_buffer + ", expecting " + client_unix.expect);
error("Unix data: " + JSON.stringify(read_buffer) + ", expecting " + JSON.stringify(client_unix.expect));
if (read_buffer.indexOf(prompt_unix) !== -1) {
assert.strictEqual(client_unix.expect, read_buffer);
error("match");
read_buffer = "";
if (client_unix.list && client_unix.list.length > 0) {
send_expect(client_unix.list);
}
else {
sys.puts("End of Unix test, running TCP test.");
} else {
error("End of Unix test, running TCP test.");
tcp_test();
}
}
else {
sys.puts("didn't see prompt yet, bufering.");
error("didn't see prompt yet, bufering.");
}
});
client_unix.addListener("error", function (e) {
throw e;
});

Loading…
Cancel
Save