08-27-周三_17-09-29
This commit is contained in:
48
node_modules/dnode/test/nested.js
generated
vendored
Normal file
48
node_modules/dnode/test/nested.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
var dnode = require('../');
|
||||
var test = require('tape');
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
|
||||
test('nested', function (t) {
|
||||
t.plan(4);
|
||||
|
||||
var server1 = function () {
|
||||
return dnode({
|
||||
timesTen : function (n,reply) { reply(n * 10) }
|
||||
});
|
||||
};
|
||||
|
||||
var server2 = function () {
|
||||
return dnode({
|
||||
timesTwenty : function (n,reply) { reply(n * 20) }
|
||||
});
|
||||
};
|
||||
|
||||
var moo = new EventEmitter;
|
||||
|
||||
var client1 = dnode();
|
||||
client1.on('remote', function (remote1, conn1) {
|
||||
var client2 = dnode();
|
||||
client2.on('remote', function (remote2, conn2) {
|
||||
moo.on('hi', function (x) {
|
||||
remote1.timesTen(x, function (res) {
|
||||
t.equal(res, 5000, 'emitted value times ten');
|
||||
remote2.timesTwenty(res, function (res2) {
|
||||
t.equal(res2, 100000, 'result times twenty');
|
||||
});
|
||||
});
|
||||
});
|
||||
remote2.timesTwenty(5, function (n) {
|
||||
t.equal(n, 100);
|
||||
remote1.timesTen(0.1, function (n) {
|
||||
t.equal(n, 1);
|
||||
});
|
||||
});
|
||||
});
|
||||
client2.pipe(server2()).pipe(client2);
|
||||
});
|
||||
client1.pipe(server1()).pipe(client1);
|
||||
|
||||
setTimeout(function() {
|
||||
moo.emit('hi', 500);
|
||||
}, 200);
|
||||
});
|
Reference in New Issue
Block a user