public function testCharactersCanBeReadAsByteArrays() { $stream =
new CharacterStream(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE
));
$stream->
write(pack('C*',
0xD0, 0xBB,
0xD1, 0x8E,
0xD0, 0xB1,
0xD1, 0x8B,
0xD1, 0x85
));
$this->
assertEquals([0xD0, 0x94
],
$stream->
readBytes(1
));
$this->
assertEquals([0xD0, 0xB6, 0xD0, 0xBE
],
$stream->
readBytes(2
));
$this->
assertEquals([0xD0, 0xBB
],
$stream->
readBytes(1
));
$this->
assertEquals([0xD1, 0x8E, 0xD0, 0xB1, 0xD1, 0x8B
],
$stream->
readBytes(3
));
$this->
assertEquals([0xD1, 0x85
],
$stream->
readBytes(1
));
$this->
assertNull($stream->
readBytes(1
));
} public function testRequestingLargeCharCountPastEndOfStream() { $stream =
new CharacterStream(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE
));
$this->
assertSame(pack('C*', 0xD0, 0x94, 0xD0, 0xB6, 0xD0, 0xBE
),
$stream->
read(100
));