From fbcfdc343e78a9cecc7cebdcca9d43a4dc6fd8b8 Mon Sep 17 00:00:00 2001 From: Daniele Alessandri Date: Sat, 16 Feb 2013 16:24:15 +0100 Subject: [PATCH] Do not implicitly set multibulk replies on composable connections. This should be done externally on the underlying protocol instance. --- lib/Predis/Connection/ComposableStreamConnection.php | 8 ++------ .../Predis/Connection/ComposableStreamConnectionTest.php | 3 ++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/Predis/Connection/ComposableStreamConnection.php b/lib/Predis/Connection/ComposableStreamConnection.php index de236c0e..34aaa9b3 100644 --- a/lib/Predis/Connection/ComposableStreamConnection.php +++ b/lib/Predis/Connection/ComposableStreamConnection.php @@ -31,12 +31,8 @@ class ComposableStreamConnection extends StreamConnection implements ComposableC */ public function __construct(ConnectionParametersInterface $parameters, ProtocolInterface $protocol = null) { - $protocol = $protocol ?: new TextProtocol(); - $protocol->setOption('iterable_multibulk', $parameters->iterable_multibulk); - - $this->mbiterable = null; - $this->protocol = $protocol; $this->parameters = $this->checkParameters($parameters); + $this->protocol = $protocol ?: new TextProtocol(); } /** @@ -134,6 +130,6 @@ class ComposableStreamConnection extends StreamConnection implements ComposableC */ public function __sleep() { - return array_merge(parent::__sleep(), array('protocol')); + return array_diff(array_merge(parent::__sleep(), array('protocol')), array('mbiterable')); } } diff --git a/tests/Predis/Connection/ComposableStreamConnectionTest.php b/tests/Predis/Connection/ComposableStreamConnectionTest.php index 0084d42f..d21b7549 100644 --- a/tests/Predis/Connection/ComposableStreamConnectionTest.php +++ b/tests/Predis/Connection/ComposableStreamConnectionTest.php @@ -74,7 +74,8 @@ class ComposableStreamConnectionTest extends ConnectionTestCase */ public function testReadsMultibulkRepliesAsIterators() { - $connection = $this->getConnection($profile, true, array('iterable_multibulk' => true)); + $connection = $this->getConnection($profile, true); + $connection->getProtocol()->setOption('iterable_multibulk', true); $connection->executeCommand($profile->createCommand('rpush', array('metavars', 'foo', 'hoge', 'lol'))); $connection->writeCommand($profile->createCommand('lrange', array('metavars', 0, -1)));