packages/ztd-query-postgres/tests/Unit/Sql/Value/BinaryStreamTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Sql\Value;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9
10#[CoversClass(\ZtdQuery\Platform\Postgres\Sql\Value\BinaryStream::class)]
11final class BinaryStreamTest extends TestCase
12{
13 public function testReadRestoresTheStreamPosition(): void
14 {
15 $stream = fopen('php://memory', 'r+');
16 self::assertNotFalse($stream);
17 fwrite($stream, "a\0b");
18 fseek($stream, 2);
19 self::assertSame("a\0b", (new \ZtdQuery\Platform\Postgres\Sql\Value\BinaryStream())->read($stream));
20 self::assertSame(2, ftell($stream));
21 fclose($stream);
22 }
23}
24