packages/deriver/tests/Unit/Deriver/Sources/SourceTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Deriver\Sources;
6
7use Deriver\Deriver\Sources\Source;
8use PHPUnit\Framework\Attributes\CoversClass;
9use PHPUnit\Framework\Attributes\Small;
10use PHPUnit\Framework\TestCase;
11
12#[CoversClass(Source::class)]
13#[Small]
14final class SourceTest extends TestCase
15{
16 public function testRetainsCapturedBytesAndDeclarationAvailability(): void
17 {
18 $source = new Source('src/Library.php', "<?php // opaque bytes \xff", true);
19 self::assertSame('src/Library.php', $source->path);
20 self::assertSame("<?php // opaque bytes \xff", $source->contents);
21 self::assertTrue($source->declarationsOnly);
22 self::assertFalse((new Source('empty.php', ''))->declarationsOnly);
23 }
24}
25