bug #19288 [VarDumper] Fix indentation trimming in ExceptionCaster (nicolas-grekas)
This PR was merged into the 2.8 branch.
Discussion
----------
[VarDumper] Fix indentation trimming in ExceptionCaster
| Q | A
| ------------- | ---
| Branch? | 2.8
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Blank lines prevent left-trimming of source code excerpts currently.
Commits
-------
ab9daeb
[VarDumper] Fix indentation trimming in ExceptionCaster
This commit is contained in:
commit
4e7cc3b98e
@ -253,19 +253,24 @@ class ExceptionCaster
|
|||||||
}
|
}
|
||||||
|
|
||||||
$ltrim = 0;
|
$ltrim = 0;
|
||||||
while (' ' === $src[0][$ltrim] || "\t" === $src[0][$ltrim]) {
|
do {
|
||||||
$i = $srcContext << 1;
|
$pad = null;
|
||||||
while ($i > 0 && $src[0][$ltrim] === $src[$i][$ltrim]) {
|
for ($i = $srcContext << 1; $i >= 0; --$i) {
|
||||||
--$i;
|
if (isset($src[$i][$ltrim]) && "\r" !== ($c = $src[$i][$ltrim]) && "\n" !== $c) {
|
||||||
}
|
if (null === $pad) {
|
||||||
if ($i) {
|
$pad = $c;
|
||||||
break;
|
}
|
||||||
|
if ((' ' !== $c && "\t" !== $c) || $pad !== $c) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
++$ltrim;
|
++$ltrim;
|
||||||
}
|
} while (0 > $i && null !== $pad);
|
||||||
if ($ltrim) {
|
|
||||||
|
if (--$ltrim) {
|
||||||
foreach ($src as $i => $line) {
|
foreach ($src as $i => $line) {
|
||||||
$src[$i] = substr($line, $ltrim);
|
$src[$i] = isset($line[$ltrim]) && "\r" !== $line[$ltrim] ? substr($line, $ltrim) : ltrim($line, " \t");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -208,8 +208,8 @@ array:2 [
|
|||||||
executing: {
|
executing: {
|
||||||
Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo(): {
|
Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo(): {
|
||||||
%sGeneratorDemo.php:10: """
|
%sGeneratorDemo.php:10: """
|
||||||
yield 1;\n
|
yield 1;\n
|
||||||
}\n
|
}\n
|
||||||
\n
|
\n
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
|
@ -200,7 +200,7 @@ EOTXT
|
|||||||
$twig = <<<EOTXT
|
$twig = <<<EOTXT
|
||||||
foo.twig:2: """
|
foo.twig:2: """
|
||||||
foo bar\\n
|
foo bar\\n
|
||||||
twig source\\n
|
twig source\\n
|
||||||
\\n
|
\\n
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -29,6 +29,6 @@ class __TwigTemplate_VarDumperFixture_u75a09 extends Twig_Template
|
|||||||
return array (19 => 2);
|
return array (19 => 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* foo bar*/
|
/* foo bar*/
|
||||||
/* twig source*/
|
/* twig source*/
|
||||||
/* */
|
/* */
|
||||||
|
Reference in New Issue
Block a user