packages/deriver/tests/Unit/Exception/ResolutionExceptionTest.php
1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Exception;
6
7use Deriver\Exception\ResolutionException;
8use PhpParser\Error;
9use PHPUnit\Framework\Attributes\CoversClass;
10use PHPUnit\Framework\Attributes\Small;
11use PHPUnit\Framework\TestCase;
12
13#[CoversClass(ResolutionException::class)]
14#[Small]
15final class ResolutionExceptionTest extends TestCase
16{
17 public function testRetainsTheOriginalDiagnosticAndSourceLocation(): void
18 {
19 $previous = new Error('Duplicate alias');
20 $error = new ResolutionException('Duplicate alias', 'app.php', 3, $previous);
21 self::assertSame('app.php', $error->path);
22 self::assertSame(3, $error->sourceLine);
23 self::assertSame('app.php:3: Duplicate alias', $error->getMessage());
24 self::assertSame($previous, $error->getPrevious());
25 }
26}
27