Skip to content

Commit 1b6a957

Browse files
authored
[BUGFIX] Exclude absent line number from exception message (#1290)
The bug was introduced by #1288, so has not been included in any release; thus a changelog entry is not justified.
1 parent 6a6e319 commit 1b6a957

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/Parsing/SourceException.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class SourceException extends \Exception implements Positionable
1717
public function __construct(string $message, ?int $lineNumber = null)
1818
{
1919
$this->setPosition($lineNumber);
20-
if ($lineNumber !== 0) {
20+
if ($lineNumber !== null) {
2121
$message .= " [line no: $lineNumber]";
2222
}
2323
parent::__construct($message);

tests/Unit/Parsing/SourceExceptionTest.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public function getMessageReturnsMessageProvidedToConstructor(): void
2020
$message = 'The cake is a lie.';
2121
$exception = new SourceException($message);
2222

23-
self::assertStringContainsString($message, $exception->getMessage());
23+
self::assertSame($message, $exception->getMessage());
2424
}
2525

2626
/**
@@ -55,6 +55,17 @@ public function getMessageWithLineNumberProvidedIncludesLineNumber(): void
5555
self::assertStringContainsString(' [line no: ' . $lineNumber . ']', $exception->getMessage());
5656
}
5757

58+
/**
59+
* @test
60+
*/
61+
public function getMessageWithLineNumberProvidedIncludesMessage(): void
62+
{
63+
$message = 'There is no flatware.';
64+
$exception = new SourceException($message, 17);
65+
66+
self::assertStringContainsString($message, $exception->getMessage());
67+
}
68+
5869
/**
5970
* @test
6071
*/

0 commit comments

Comments
 (0)