packages/ztd-query-sqlite/tests/Unit/Connection/Parameter/ParameterReplacementsTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Connection\Parameter;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use ZtdQuery\Platform\Sqlite\Connection\Parameter\ParameterReplacements;
10
11#[CoversClass(ParameterReplacements::class)]
12final class ParameterReplacementsTest extends TestCase
13{
14 public function testApplyUsesOriginalOffsetsDespiteLengthChanges(): void
15 {
16 self::assertSame('SELECT CAST(? AS INTEGER), CAST(:name AS TEXT)', (new ParameterReplacements())->apply('SELECT ?, :name', [
17 7 => ['length' => 1, 'sql' => 'CAST(? AS INTEGER)'],
18 10 => ['length' => 5, 'sql' => 'CAST(:name AS TEXT)'],
19 ]));
20 self::assertSame('SELECT 1', (new ParameterReplacements())->apply('SELECT 1', []));
21 }
22
23}
24