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: //opt/alt/tests/alt-php84-phpiredis_1.0.1-1.el9/reader_003.phpt
--TEST--
[READER] Check reader state

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

--FILE--
<?php

$reader = phpiredis_reader_create();

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

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

phpiredis_reader_feed($reader, "$3\r\nSE");
var_dump(phpiredis_reader_get_state($reader) == PHPIREDIS_READER_STATE_INCOMPLETE);

phpiredis_reader_feed($reader, "T\r\n");
var_dump(phpiredis_reader_get_state($reader) == PHPIREDIS_READER_STATE_COMPLETE);
var_dump(phpiredis_reader_get_reply($reader));

phpiredis_reader_feed($reader, "nSET\r\n");
var_dump(phpiredis_reader_get_reply($reader) == FALSE);
var_dump(phpiredis_reader_get_state($reader) == PHPIREDIS_READER_STATE_ERROR);
var_dump(phpiredis_reader_get_error($reader));

--EXPECT--
string(2) "OK"
bool(true)
bool(true)
string(2) "OK"
bool(true)
bool(true)
string(3) "SET"
bool(true)
bool(true)
string(42) "Protocol error, got "n" as reply type byte"