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