34 lines
756 B
JavaScript
34 lines
756 B
JavaScript
var dnode = require('../');
|
|
var test = require('tape');
|
|
|
|
test('circular refs', function (t) {
|
|
t.plan(7);
|
|
|
|
var server = dnode({
|
|
sendObj : function (ref, f) {
|
|
t.equal(ref.a, 1);
|
|
t.equal(ref.b, 2);
|
|
t.deepEqual(ref.c, ref);
|
|
|
|
ref.d = ref.c;
|
|
|
|
f(ref);
|
|
}
|
|
});
|
|
|
|
var client = dnode();
|
|
client.on('remote', function (remote) {
|
|
var obj = { a : 1, b : 2 };
|
|
obj.c = obj;
|
|
|
|
remote.sendObj(obj, function (ref) {
|
|
t.equal(ref.a, 1);
|
|
t.equal(ref.b, 2);
|
|
t.deepEqual(ref.c, ref);
|
|
t.deepEqual(ref.d, ref);
|
|
});
|
|
});
|
|
|
|
client.pipe(server).pipe(client);
|
|
});
|