packages/ztd-query-sqlite/tests/Unit/Sql/Dml/Expression/AssignmentColumnParserTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Sql\Dml\Expression;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\Attributes\UsesClass;
9use PHPUnit\Framework\TestCase;
10use ZtdQuery\Platform\Sqlite\Sql\Dml\Expression\AssignmentColumnParser;
11
12#[CoversClass(AssignmentColumnParser::class)]
13#[UsesClass(\ZtdQuery\Platform\Sqlite\Sql\Lexing\IdentifierDecoder::class)]
14final class AssignmentColumnParserTest extends TestCase
15{
16 public function testParseReturnsTargetAndExpressionBoundary(): void
17 {
18 $parser = new AssignmentColumnParser();
19 self::assertSame(['name' => 'name', 'end' => 4], $parser->parse('name = 1', 0));
20 self::assertSame(['name' => 'full name', 'end' => 11], $parser->parse('"full name" = 1', 0));
21 self::assertSame(['name' => 'name', 'end' => 6], $parser->parse('t.name=1', 0));
22 self::assertSame(['name' => 'name', 'end' => 8], $parser->parse(' [name]=1', 2));
23 }
24
25}
26