Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php declare(strict_types=1); /* * This file is part of PHP CS Fixer. * * (c) Fabien..
Decoded Output download
<?php
declare(strict_types=1);
/*
* This file is part of PHP CS Fixer.
*
* (c) Fabien Potencier <[email protected]>
* Dariusz Rumiski <[email protected]>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace PhpCsFixer\Tests\DocBlock;
use PhpCsFixer\DocBlock\DocBlock;
use PhpCsFixer\Tests\TestCase;
/**
* @author Graham Campbell <[email protected]>
*
* @internal
*
* @covers \PhpCsFixer\DocBlock\DocBlock
*/
final class DocBlockTest extends TestCase
{
/**
* This represents the content an entire docblock.
*
* @var string
*/
private static $sample = '/**
* Test docblock.
*
* @param string $hello
* @param bool $test Description
* extends over many lines
*
* @param adkjbadjasbdand $asdnjkasd
*
* @throws \Exception asdnjkasd
* asdasdasdasdasdasdasdasd
* kasdkasdkbasdasdasdjhbasdhbasjdbjasbdjhb
*
* @return void
*/';
public function testContent(): void
{
$doc = new DocBlock(self::$sample);
self::assertSame(self::$sample, $doc->getContent());
self::assertSame(self::$sample, (string) $doc);
}
public function testEmptyContent(): void
{
$doc = new DocBlock('');
self::assertSame('', $doc->getContent());
}
public function testGetLines(): void
{
$doc = new DocBlock(self::$sample);
$lines = $doc->getLines();
self::assertCount(15, $lines);
foreach ($lines as $index => $line) {
self::assertSame($doc->getLine($index), $line);
}
self::assertEmpty($doc->getLine(15));
}
public function testGetAnnotations(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotations();
self::assertCount(5, $annotations);
foreach ($annotations as $index => $annotation) {
self::assertSame($doc->getAnnotation($index), $annotation);
}
self::assertEmpty($doc->getAnnotation(5));
}
public function testGetAnnotationsOfTypeParam(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotationsOfType('param');
self::assertCount(3, $annotations);
$first = ' * @param string $hello
';
$second = ' * @param bool $test Description
* extends over many lines
';
$third = ' * @param adkjbadjasbdand $asdnjkasd
';
self::assertSame($first, $annotations[0]->getContent());
self::assertSame($second, $annotations[1]->getContent());
self::assertSame($third, $annotations[2]->getContent());
}
public function testGetAnnotationsOfTypeThrows(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotationsOfType('throws');
self::assertCount(1, $annotations);
$content = ' * @throws \Exception asdnjkasd
* asdasdasdasdasdasdasdasd
* kasdkasdkbasdasdasdjhbasdhbasjdbjasbdjhb
';
self::assertSame($content, $annotations[0]->getContent());
}
public function testGetAnnotationsOfTypeReturn(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotationsOfType('return');
self::assertCount(1, $annotations);
$content = ' * @return void
';
self::assertSame($content, $annotations[0]->getContent());
}
public function testGetAnnotationsOfTypeFoo(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotationsOfType('foo');
self::assertCount(0, $annotations);
}
public function testIsMultiLIne(): void
{
$doc = new DocBlock(self::$sample);
self::assertTrue($doc->isMultiLine());
}
/**
* @dataProvider provideMakeMultiLIneCases
*/
public function testMakeMultiLIne(string $inputDocBlock, ?string $outputDocBlock = null, string $indent = '', string $newLine = "
"): void
{
$doc = new DocBlock($inputDocBlock);
$doc->makeMultiLine($indent, $newLine);
if (null === $outputDocBlock) {
$outputDocBlock = $inputDocBlock;
}
self::assertSame($outputDocBlock, $doc->getContent());
}
public static function provideMakeMultiLIneCases(): iterable
{
yield 'It keeps a multi line doc block as is' => [
"/**
* Hello
*/",
];
yield 'It keeps a multi line doc block as is with multiple annotations' => [
"/**
* @foo
*@bar
*/",
];
yield 'It keeps a multi line doc block with indentation' => [
"/**
*@foo
*/",
];
yield 'It Converts a single line to multi line with no indentation' => [
'/** Hello */',
"/**
* Hello
*/",
];
yield 'It Converts a single line to multi line with correct indentation' => [
'/** Hello */',
"/**
* Hello
*/",
' ',
];
yield 'It Converts a single line to multi line with correct indentation and Line ending' => [
'/** Hello */',
"/**
* Hello
*/",
' ',
"
",
];
}
/**
* @dataProvider provideMakeSingleLineCases
*/
public function testMakeSingleLine(string $inputDocBlock, ?string $outputDocBlock = null): void
{
$doc = new DocBlock($inputDocBlock);
$doc->makeSingleLine();
if (null === $outputDocBlock) {
$outputDocBlock = $inputDocBlock;
}
self::assertSame($outputDocBlock, $doc->getContent());
}
public static function provideMakeSingleLineCases(): iterable
{
yield 'It keeps a single line doc block as is' => [
'/** Hello */',
];
yield 'It converts a multi line doc block to a single line' => [
"/**
* Hello
*/",
'/** Hello */',
];
yield 'It converts a multi line doc block to a single line with annotation' => [
"/**
* @foo
*/",
'/** @foo */',
];
yield 'It converts a multi line doc block to a single line multiple empty lines' => [
"/**
* @foo
*
*
*
* */",
'/** @foo */',
];
yield 'It changes an empty doc block to single line' => [
"/**
*
*/",
'/** */',
];
yield 'It does not change a multi line doc block if it can\'t' => [
self::$sample,
];
}
}
?>
Did this file decode correctly?
Original Code
<?php
declare(strict_types=1);
/*
* This file is part of PHP CS Fixer.
*
* (c) Fabien Potencier <[email protected]>
* Dariusz Rumiski <[email protected]>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace PhpCsFixer\Tests\DocBlock;
use PhpCsFixer\DocBlock\DocBlock;
use PhpCsFixer\Tests\TestCase;
/**
* @author Graham Campbell <[email protected]>
*
* @internal
*
* @covers \PhpCsFixer\DocBlock\DocBlock
*/
final class DocBlockTest extends TestCase
{
/**
* This represents the content an entire docblock.
*
* @var string
*/
private static $sample = '/**
* Test docblock.
*
* @param string $hello
* @param bool $test Description
* extends over many lines
*
* @param adkjbadjasbdand $asdnjkasd
*
* @throws \Exception asdnjkasd
* asdasdasdasdasdasdasdasd
* kasdkasdkbasdasdasdjhbasdhbasjdbjasbdjhb
*
* @return void
*/';
public function testContent(): void
{
$doc = new DocBlock(self::$sample);
self::assertSame(self::$sample, $doc->getContent());
self::assertSame(self::$sample, (string) $doc);
}
public function testEmptyContent(): void
{
$doc = new DocBlock('');
self::assertSame('', $doc->getContent());
}
public function testGetLines(): void
{
$doc = new DocBlock(self::$sample);
$lines = $doc->getLines();
self::assertCount(15, $lines);
foreach ($lines as $index => $line) {
self::assertSame($doc->getLine($index), $line);
}
self::assertEmpty($doc->getLine(15));
}
public function testGetAnnotations(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotations();
self::assertCount(5, $annotations);
foreach ($annotations as $index => $annotation) {
self::assertSame($doc->getAnnotation($index), $annotation);
}
self::assertEmpty($doc->getAnnotation(5));
}
public function testGetAnnotationsOfTypeParam(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotationsOfType('param');
self::assertCount(3, $annotations);
$first = ' * @param string $hello
';
$second = ' * @param bool $test Description
* extends over many lines
';
$third = ' * @param adkjbadjasbdand $asdnjkasd
';
self::assertSame($first, $annotations[0]->getContent());
self::assertSame($second, $annotations[1]->getContent());
self::assertSame($third, $annotations[2]->getContent());
}
public function testGetAnnotationsOfTypeThrows(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotationsOfType('throws');
self::assertCount(1, $annotations);
$content = ' * @throws \Exception asdnjkasd
* asdasdasdasdasdasdasdasd
* kasdkasdkbasdasdasdjhbasdhbasjdbjasbdjhb
';
self::assertSame($content, $annotations[0]->getContent());
}
public function testGetAnnotationsOfTypeReturn(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotationsOfType('return');
self::assertCount(1, $annotations);
$content = ' * @return void
';
self::assertSame($content, $annotations[0]->getContent());
}
public function testGetAnnotationsOfTypeFoo(): void
{
$doc = new DocBlock(self::$sample);
$annotations = $doc->getAnnotationsOfType('foo');
self::assertCount(0, $annotations);
}
public function testIsMultiLIne(): void
{
$doc = new DocBlock(self::$sample);
self::assertTrue($doc->isMultiLine());
}
/**
* @dataProvider provideMakeMultiLIneCases
*/
public function testMakeMultiLIne(string $inputDocBlock, ?string $outputDocBlock = null, string $indent = '', string $newLine = "\n"): void
{
$doc = new DocBlock($inputDocBlock);
$doc->makeMultiLine($indent, $newLine);
if (null === $outputDocBlock) {
$outputDocBlock = $inputDocBlock;
}
self::assertSame($outputDocBlock, $doc->getContent());
}
public static function provideMakeMultiLIneCases(): iterable
{
yield 'It keeps a multi line doc block as is' => [
"/**\n * Hello\n */",
];
yield 'It keeps a multi line doc block as is with multiple annotations' => [
"/**\n * @foo\n *@bar\n */",
];
yield 'It keeps a multi line doc block with indentation' => [
"/**\n\t *@foo\n\t */",
];
yield 'It Converts a single line to multi line with no indentation' => [
'/** Hello */',
"/**\n * Hello\n */",
];
yield 'It Converts a single line to multi line with correct indentation' => [
'/** Hello */',
"/**\n * Hello\n */",
' ',
];
yield 'It Converts a single line to multi line with correct indentation and Line ending' => [
'/** Hello */',
"/**\r\n * Hello\r\n */",
' ',
"\r\n",
];
}
/**
* @dataProvider provideMakeSingleLineCases
*/
public function testMakeSingleLine(string $inputDocBlock, ?string $outputDocBlock = null): void
{
$doc = new DocBlock($inputDocBlock);
$doc->makeSingleLine();
if (null === $outputDocBlock) {
$outputDocBlock = $inputDocBlock;
}
self::assertSame($outputDocBlock, $doc->getContent());
}
public static function provideMakeSingleLineCases(): iterable
{
yield 'It keeps a single line doc block as is' => [
'/** Hello */',
];
yield 'It converts a multi line doc block to a single line' => [
"/**\n * Hello\n */",
'/** Hello */',
];
yield 'It converts a multi line doc block to a single line with annotation' => [
"/**\n * @foo\n */",
'/** @foo */',
];
yield 'It converts a multi line doc block to a single line multiple empty lines' => [
"/**\n * @foo\n *\n *\n *\n * */",
'/** @foo */',
];
yield 'It changes an empty doc block to single line' => [
"/**\n *\n */",
'/** */',
];
yield 'It does not change a multi line doc block if it can\'t' => [
self::$sample,
];
}
}
Function Calls
None |
Stats
MD5 | d7e2f92e277000b9a80b314c51411f0c |
Eval Count | 0 |
Decode Time | 107 ms |