Skip to content

Commit 3e64ce7

Browse files
committed
Add regression test for return_buffers in pub/sub mode (#911)
1 parent cc93e0b commit 3e64ce7

File tree

1 file changed

+54
-2
lines changed

1 file changed

+54
-2
lines changed

test/return_buffers.spec.js

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ var redis = config.redis;
77

88
describe("return_buffers", function () {
99

10-
helper.allTests(function(parser, ip) {
10+
helper.allTests(function(parser, ip, basicArgs) {
1111

1212
describe("using " + parser + " and " + ip, function () {
1313
var client;
@@ -229,6 +229,58 @@ describe("return_buffers", function () {
229229
});
230230
});
231231
});
232+
233+
describe('publish/subscribe', function (done) {
234+
var pub;
235+
var sub;
236+
var channel = "test channel";
237+
var message = new Buffer("test message");
238+
239+
var args = config.configureClient(parser, ip, {
240+
return_buffers: true
241+
});
242+
243+
beforeEach(function (done) {
244+
var pubConnected;
245+
var subConnected;
246+
247+
pub = redis.createClient.apply(redis.createClient, basicArgs);
248+
sub = redis.createClient.apply(redis.createClient, args);
249+
pub.once("connect", function () {
250+
pub.flushdb(function () {
251+
pubConnected = true;
252+
if (subConnected) {
253+
done();
254+
}
255+
});
256+
});
257+
sub.once("connect", function () {
258+
subConnected = true;
259+
if (pubConnected) {
260+
done();
261+
}
262+
});
263+
});
264+
265+
it('receives buffer messages', function (done) {
266+
sub.on("subscribe", function (chnl, count) {
267+
pub.publish(channel, message);
268+
});
269+
270+
sub.on("message", function (chnl, msg) {
271+
assert.strictEqual(true, Buffer.isBuffer(msg));
272+
assert.strictEqual("<Buffer 74 65 73 74 20 6d 65 73 73 61 67 65>", msg.inspect());
273+
return done();
274+
});
275+
276+
sub.subscribe(channel);
277+
});
278+
279+
afterEach(function () {
280+
sub.end();
281+
pub.end();
282+
});
283+
});
232284
});
233285
});
234-
});
286+
});

0 commit comments

Comments
 (0)