35 lines
838 B
JavaScript
35 lines
838 B
JavaScript
var dnode = require('../')
|
|
var test = require('tape');
|
|
|
|
test('self-referential', function (t) {
|
|
t.plan(7);
|
|
|
|
var server = dnode({
|
|
timesTen : function (n,reply) {
|
|
t.equal(n.number, 5);
|
|
reply(n.number * 10);
|
|
},
|
|
print : function (n,reply) {
|
|
t.strictEqual(n[0],1);
|
|
t.strictEqual(n[1],2);
|
|
t.strictEqual(n[2],3);
|
|
t.strictEqual(n[3],n);
|
|
reply(n);
|
|
}
|
|
});
|
|
|
|
var client = dnode();
|
|
client.on('remote', function (remote) {
|
|
var args = [1,2,3]
|
|
args.push(args)
|
|
|
|
remote.print(args, function (m) {
|
|
t.same(m.slice(0,3), args.slice(0,3));
|
|
t.equal(m, m[3]);
|
|
t.equal(args, args[3]);
|
|
});
|
|
});
|
|
|
|
client.pipe(server).pipe(client);
|
|
});
|