|
4 | 4 |
|
5 | 5 | namespace DocbookCS\Tests\Unit\Violation; |
6 | 6 |
|
7 | | -use DocbookCS\Violation\SourceRange; |
| 7 | +use DocbookCS\Source\File; |
| 8 | +use DocbookCS\Source\Line; |
8 | 9 | use DocbookCS\Violation\Severity; |
| 10 | +use DocbookCS\Violation\SourceRange; |
9 | 11 | use DocbookCS\Violation\Violation; |
10 | 12 | use PHPUnit\Framework\Attributes\CoversClass; |
11 | 13 | use PHPUnit\Framework\Attributes\DataProvider; |
12 | 14 | use PHPUnit\Framework\Attributes\Test; |
| 15 | +use PHPUnit\Framework\Attributes\UsesClass; |
13 | 16 | use PHPUnit\Framework\TestCase; |
14 | 17 |
|
15 | 18 | #[ |
16 | 19 | CoversClass(SourceRange::class), |
17 | 20 | CoversClass(Violation::class), |
| 21 | + // |
| 22 | + UsesClass(File::class), |
| 23 | + UsesClass(Line::class), |
18 | 24 | ] |
19 | 25 | final class AffectedRangesTest extends TestCase |
20 | 26 | { |
| 27 | + #[Test] |
| 28 | + public function itCreatesSourceRangesFromFileOffsets(): void |
| 29 | + { |
| 30 | + $range = SourceRange::fromFile( |
| 31 | + new File('file.xml', "first\nsecond\n"), |
| 32 | + 6, |
| 33 | + 12, |
| 34 | + ); |
| 35 | + |
| 36 | + self::assertSame(2, $range->line); |
| 37 | + self::assertSame(6, $range->beginOffset); |
| 38 | + self::assertSame(12, $range->untilOffset); |
| 39 | + self::assertSame('second', $range->content); |
| 40 | + } |
| 41 | + |
21 | 42 | #[Test] |
22 | 43 | public function itRejectsViolationsWithoutAffectedRanges(): void |
23 | 44 | { |
|
0 commit comments