mirror of
https://github.com/barryvdh/ReflectionDocBlock.git
synced 2026-08-18 01:57:13 +00:00
Make split platform independend
This commit is contained in:
@@ -146,7 +146,7 @@ class DescriptionFactory
|
|||||||
*/
|
*/
|
||||||
private function removeSuperfluousStartingWhitespace(string $contents): string
|
private function removeSuperfluousStartingWhitespace(string $contents): string
|
||||||
{
|
{
|
||||||
$lines = explode("\n", $contents);
|
$lines = Utils::pregSplit("/\r\n?|\n/", $contents);
|
||||||
|
|
||||||
// if there is only one line then we don't have lines with superfluous whitespace and
|
// if there is only one line then we don't have lines with superfluous whitespace and
|
||||||
// can use the contents as-is
|
// can use the contents as-is
|
||||||
|
|||||||
@@ -79,7 +79,14 @@ DESCRIPTION;
|
|||||||
$this->assertInstanceOf(DocBlock::class, $docblock);
|
$this->assertInstanceOf(DocBlock::class, $docblock);
|
||||||
$this->assertSame('This is an example of a summary.', $summary);
|
$this->assertSame('This is an example of a summary.', $summary);
|
||||||
$this->assertInstanceOf(Description::class, $description);
|
$this->assertInstanceOf(Description::class, $description);
|
||||||
$this->assertSame($descriptionText, $description->render());
|
$this->assertSame(
|
||||||
|
str_replace(
|
||||||
|
PHP_EOL,
|
||||||
|
"\n",
|
||||||
|
$descriptionText
|
||||||
|
),
|
||||||
|
$description->render()
|
||||||
|
);
|
||||||
$this->assertEmpty($docblock->getTags());
|
$this->assertEmpty($docblock->getTags());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,6 +131,9 @@ DESCRIPTION;
|
|||||||
include(__DIR__ . '/../../examples/playing-with-descriptions/02-escaping.php');
|
include(__DIR__ . '/../../examples/playing-with-descriptions/02-escaping.php');
|
||||||
|
|
||||||
$this->assertSame(
|
$this->assertSame(
|
||||||
|
str_replace(
|
||||||
|
PHP_EOL,
|
||||||
|
"\n",
|
||||||
<<<'DESCRIPTION'
|
<<<'DESCRIPTION'
|
||||||
You can escape the @-sign by surrounding it with braces, for example: @. And escape a closing brace within an
|
You can escape the @-sign by surrounding it with braces, for example: @. And escape a closing brace within an
|
||||||
inline tag by adding an opening brace in front of it like this: }.
|
inline tag by adding an opening brace in front of it like this: }.
|
||||||
@@ -135,7 +145,7 @@ Here are example texts where you can see how they could be used in a real life s
|
|||||||
|
|
||||||
Do note that an {@internal inline tag that has an opening brace ({) does not break out}.
|
Do note that an {@internal inline tag that has an opening brace ({) does not break out}.
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
,
|
),
|
||||||
$foundDescription
|
$foundDescription
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ use phpDocumentor\Reflection\DocBlock\Tags\Link as LinkTag;
|
|||||||
use phpDocumentor\Reflection\Types\Context;
|
use phpDocumentor\Reflection\Types\Context;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
use function str_replace;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @coversDefaultClass \phpDocumentor\Reflection\DocBlock\DescriptionFactory
|
* @coversDefaultClass \phpDocumentor\Reflection\DocBlock\DescriptionFactory
|
||||||
* @covers ::<private>
|
* @covers ::<private>
|
||||||
@@ -192,7 +194,7 @@ DESCRIPTION;
|
|||||||
|
|
||||||
$description = $factory->create($descriptionText, new Context(''));
|
$description = $factory->create($descriptionText, new Context(''));
|
||||||
|
|
||||||
$this->assertSame($expectedDescription, $description->render());
|
$this->assertSame(str_replace(PHP_EOL, "\n", $expectedDescription), $description->render());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ DOCCOMMENT;
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->assertSame($expected, $fixture->getDocComment($docBlock));
|
$this->assertSameString($expected, $fixture->getDocComment($docBlock));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -98,7 +98,7 @@ DOCCOMMENT;
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->assertSame($expected, $fixture->getDocComment($docBlock));
|
$this->assertSameString($expected, $fixture->getDocComment($docBlock));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -133,7 +133,7 @@ DOCCOMMENT;
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->assertSame($expected, $fixture->getDocComment($docBlock));
|
$this->assertSameString($expected, $fixture->getDocComment($docBlock));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -174,7 +174,7 @@ DOCCOMMENT;
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->assertSame($expected, $fixture->getDocComment($docBlock));
|
$this->assertSameString($expected, $fixture->getDocComment($docBlock));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -198,9 +198,16 @@ DOCCOMMENT_AFTER_REMOVE;
|
|||||||
$genericTag = new DocBlock\Tags\Generic('unknown-tag');
|
$genericTag = new DocBlock\Tags\Generic('unknown-tag');
|
||||||
|
|
||||||
$docBlock = new DocBlock('', null, [$genericTag]);
|
$docBlock = new DocBlock('', null, [$genericTag]);
|
||||||
$this->assertSame($expected, $fixture->getDocComment($docBlock));
|
$this->assertSameString($expected, $fixture->getDocComment($docBlock));
|
||||||
|
|
||||||
$docBlock->removeTag($genericTag);
|
$docBlock->removeTag($genericTag);
|
||||||
$this->assertSame($expectedAfterRemove, $fixture->getDocComment($docBlock));
|
$this->assertSameString($expectedAfterRemove, $fixture->getDocComment($docBlock));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function assertSameString(string $expected, string $actual): void
|
||||||
|
{
|
||||||
|
$expected = str_replace(PHP_EOL, "\n", $expected);
|
||||||
|
|
||||||
|
self::assertSame($expected, $actual);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ class DocBlockFactoryTest extends TestCase
|
|||||||
$docblock = $fixture->create($given);
|
$docblock = $fixture->create($given);
|
||||||
|
|
||||||
$this->assertSame($summary, $docblock->getSummary());
|
$this->assertSame($summary, $docblock->getSummary());
|
||||||
$this->assertEquals(new Description($description), $docblock->getDescription());
|
$this->assertEquals(new Description(str_replace(PHP_EOL, "\n", $description)), $docblock->getDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -159,12 +159,7 @@ class DocBlockFactoryTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
DOCBLOCK;
|
DOCBLOCK;
|
||||||
|
|
||||||
$description = <<<DESCRIPTION
|
$description = "This is a multiline Description\nthat contains a code block.\n\n See here: a CodeBlock";
|
||||||
This is a multiline Description
|
|
||||||
that contains a code block.
|
|
||||||
|
|
||||||
See here: a CodeBlock
|
|
||||||
DESCRIPTION;
|
|
||||||
|
|
||||||
$docblock = $fixture->create($given);
|
$docblock = $fixture->create($given);
|
||||||
|
|
||||||
@@ -180,14 +175,9 @@ DESCRIPTION;
|
|||||||
*/
|
*/
|
||||||
public function testTagsAreInterpretedUsingFactory(): void
|
public function testTagsAreInterpretedUsingFactory(): void
|
||||||
{
|
{
|
||||||
$tagString = <<<TAG
|
|
||||||
@author Mike van Riel <[email protected]> This is with
|
|
||||||
multiline description.
|
|
||||||
TAG;
|
|
||||||
|
|
||||||
$tag = m::mock(Tag::class);
|
$tag = m::mock(Tag::class);
|
||||||
$tagFactory = m::mock(TagFactory::class);
|
$tagFactory = m::mock(TagFactory::class);
|
||||||
$tagFactory->shouldReceive('create')->with($tagString, m::type(Context::class))->andReturn($tag);
|
$tagFactory->shouldReceive('create')->with(m::any(), m::type(Context::class))->andReturn($tag);
|
||||||
|
|
||||||
$fixture = new DocBlockFactory(new DescriptionFactory($tagFactory), $tagFactory);
|
$fixture = new DocBlockFactory(new DescriptionFactory($tagFactory), $tagFactory);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user