HEX
Server: LiteSpeed
System: Linux s12787.usc1.stableserver.net 5.14.0-570.32.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 6 11:30:41 EDT 2025 x86_64
User: househiv (1652)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //proc/self/root/opt/alt/tests/alt-php84-phpiredis_1.0.1-1.el9/reader_007.phpt
--TEST--
[READER] Set custom status handler

--SKIPIF--
<?php
require_once 'testsuite_skipif.inc';

--FILE--
<?php

function status_handler($payload) {
    return "CUSTOM $payload";
}

$reader = phpiredis_reader_create();

phpiredis_reader_feed($reader, "+OK\r\n");
var_dump(phpiredis_reader_get_reply($reader) === 'OK');

phpiredis_reader_set_status_handler($reader, 'status_handler');
phpiredis_reader_feed($reader, "+OK\r\n");
var_dump(phpiredis_reader_get_reply($reader) === 'CUSTOM OK');
var_dump(FALSE === @phpiredis_reader_set_status_handler($reader, 'fake_status_handler'));

phpiredis_reader_feed($reader, "+PONG\r\n");
var_dump(phpiredis_reader_get_reply($reader) === 'CUSTOM PONG');

var_dump(TRUE === phpiredis_reader_set_status_handler($reader, NULL));
phpiredis_reader_feed($reader, "+QUEUED\r\n");
var_dump(phpiredis_reader_get_reply($reader) === 'QUEUED');

--EXPECT--
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)