From 58ccdc763841f79042d173bc3ee409d060b81a11 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Tue, 4 Jun 2019 13:21:52 +0300 Subject: [PATCH] fix unescaped regular --- packages/BetterPhpDocParser/src/Printer/PhpDocInfoPrinter.php | 3 +-- .../tests/PhpDocInfo/PhpDocInfoPrinterSource/doc14.txt | 3 +++ .../tests/PhpDocInfo/PhpDocInfoPrinterTest.php | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 packages/BetterPhpDocParser/tests/PhpDocInfo/PhpDocInfoPrinterSource/doc14.txt diff --git a/packages/BetterPhpDocParser/src/Printer/PhpDocInfoPrinter.php b/packages/BetterPhpDocParser/src/Printer/PhpDocInfoPrinter.php index 274f174534d..fc8cf01474b 100644 --- a/packages/BetterPhpDocParser/src/Printer/PhpDocInfoPrinter.php +++ b/packages/BetterPhpDocParser/src/Printer/PhpDocInfoPrinter.php @@ -232,8 +232,7 @@ final class PhpDocInfoPrinter if ($phpDocTagNode->getAttribute(Attribute::HAS_DESCRIPTION_WITH_ORIGINAL_SPACES)) { if (property_exists($phpDocTagNode->value, 'description') && $phpDocTagNode->value->description) { $pattern = Strings::replace($phpDocTagNode->value->description, '#[\s]+#', '\s+'); - $nodeOutput = Strings::replace($nodeOutput, '#' . $pattern . '#', $phpDocTagNode->value->description); - + $nodeOutput = Strings::replace($nodeOutput, '#' . preg_quote($pattern, '#') . '#', $phpDocTagNode->value->description); if (substr_count($nodeOutput, "\n")) { $nodeOutput = Strings::replace($nodeOutput, "#\n#", PHP_EOL . ' * '); } diff --git a/packages/BetterPhpDocParser/tests/PhpDocInfo/PhpDocInfoPrinterSource/doc14.txt b/packages/BetterPhpDocParser/tests/PhpDocInfo/PhpDocInfoPrinterSource/doc14.txt new file mode 100644 index 00000000000..c02fe7015fa --- /dev/null +++ b/packages/BetterPhpDocParser/tests/PhpDocInfo/PhpDocInfoPrinterSource/doc14.txt @@ -0,0 +1,3 @@ +/** + * @param bool $setTicketAuthor @see self::create() + */ diff --git a/packages/BetterPhpDocParser/tests/PhpDocInfo/PhpDocInfoPrinterTest.php b/packages/BetterPhpDocParser/tests/PhpDocInfo/PhpDocInfoPrinterTest.php index c541040392f..35cfb394811 100644 --- a/packages/BetterPhpDocParser/tests/PhpDocInfo/PhpDocInfoPrinterTest.php +++ b/packages/BetterPhpDocParser/tests/PhpDocInfo/PhpDocInfoPrinterTest.php @@ -66,6 +66,7 @@ final class PhpDocInfoPrinterTest extends AbstractKernelTestCase yield [__DIR__ . '/PhpDocInfoPrinterSource/doc11.txt']; yield [__DIR__ . '/PhpDocInfoPrinterSource/doc12.txt']; yield [__DIR__ . '/PhpDocInfoPrinterSource/doc13.txt']; + yield [__DIR__ . '/PhpDocInfoPrinterSource/doc14.txt']; } public function provideMultiline(): Iterator