keep key and value when filtering SET arguments (#1471)

This commit is contained in:
Christian Flothmann
2024-07-11 08:46:52 +02:00
committed by GitHub
parent d8bb9ac46e
commit 0a92618fa1
2 changed files with 36 additions and 1 deletions
+10 -1
View File
@@ -29,7 +29,16 @@ class SET extends RedisCommand
public function setArguments(array $arguments)
{
foreach ($arguments as $index => $value) {
if ($index < 2) {
continue;
}
if (false === $value || null === $value) {
unset($arguments[$index]);
}
}
parent::setArguments($arguments);
$this->filterArguments();
}
}
+26
View File
@@ -188,6 +188,32 @@ class SET_Test extends PredisCommandTestCase
);
}
/**
* @group connected
* @requiresRedisVersion >= 2.6.12
*/
public function testSetNull(): void
{
$redis = $this->getClient();
$this->assertEquals(
'OK', $redis->set('foo', null)
);
}
/**
* @group connected
* @requiresRedisVersion >= 2.6.12
*/
public function testSetFalse(): void
{
$redis = $this->getClient();
$this->assertEquals(
'OK', $redis->set('foo', false)
);
}
/**
* @group connected
* @group cluster