packages/sql-catalog/tests/Unit/Core/Text/TextSegmentTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Core\Text;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\Attributes\UsesClass;
9use PHPUnit\Framework\TestCase;
10use SqlCatalog\Core\Text\LiteralText;
11use SqlCatalog\Core\Text\Origin;
12use SqlCatalog\Core\Text\TextHole;
13use SqlCatalog\Core\Text\TextSegment;
14use SqlCatalog\Core\Type\TypeShape;
15
16#[CoversClass(TextSegment::class)]
17#[UsesClass(LiteralText::class)]
18#[UsesClass(TextHole::class)]
19#[UsesClass(TypeShape::class)]
20final class TextSegmentTest extends TestCase
21{
22 public function testDisplayDistinguishesResolvedTextFromAGap(): void
23 {
24 $resolved = new LiteralText('WHERE id = ');
25 $gap = new TextHole(Origin::External, TypeShape::unknown());
26 self::assertSame('WHERE id = ', $resolved->display());
27 self::assertSame('{$}', $gap->display());
28 }
29}
30