HEX
Server: LiteSpeed
System: Linux premium321.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: paksjuts (1314)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //opt/alt/tests/alt-php80-phpiredis_1.0.1-1.el8/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"