minor #18896 [Console] [SymfonyStyle] Replace long word wrapping test to directly test output (ogizanagi)
This PR was merged into the 2.7 branch.
Discussion
----------
[Console] [SymfonyStyle] Replace long word wrapping test to directly test output
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/18879#discussion_r64783524
| License | MIT
| Doc PR | -
This [line](https://github.com/symfony/symfony/pull/18879/files#diff-d3625f2548a3b329058ca5a0f5aa57feR60) should not have been changed in order to the test to pass. I assume the test was flawed at first, so I suggest to simply test the output as we did for other ones.
Ping @chalasr
Commits
-------
b78fff4
[Console] [SymfonyStyle] Replace long word wrapping test to directly test output
This commit is contained in:
commit
1d148bd39e
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
use Symfony\Component\Console\Tests\Style\SymfonyStyleWithForcedLineLength;
|
||||||
|
|
||||||
|
//Ensure long words are properly wrapped in blocks
|
||||||
|
return function (InputInterface $input, OutputInterface $output) {
|
||||||
|
$word = 'Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophattoperisteralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon';
|
||||||
|
$sfStyle = new SymfonyStyleWithForcedLineLength($input, $output);
|
||||||
|
$sfStyle->block($word, 'CUSTOM', 'fg=white;bg=blue', ' § ', false);
|
||||||
|
};
|
@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
§ [CUSTOM] Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophatto
|
||||||
|
§ peristeralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon
|
||||||
|
|
@ -54,22 +54,6 @@ class SymfonyStyleTest extends PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
return array_map(null, glob($baseDir.'/command/command_*.php'), glob($baseDir.'/output/output_*.txt'));
|
return array_map(null, glob($baseDir.'/command/command_*.php'), glob($baseDir.'/output/output_*.txt'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testLongWordsBlockWrapping()
|
|
||||||
{
|
|
||||||
$word = 'Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophattoperisteralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygovgollhjvhvljfezefeqifzeiqgiqzhrsdgihqzridghqridghqirshdghdghieridgheirhsdgehrsdvhqrsidhqshdgihrsidvqhneriqsdvjzergetsrfhgrstsfhsetsfhesrhdgtesfhbzrtfbrztvetbsdfbrsdfbrn';
|
|
||||||
$wordLength = strlen($word);
|
|
||||||
$maxLineLength = SymfonyStyle::MAX_LINE_LENGTH - 3;
|
|
||||||
|
|
||||||
$this->command->setCode(function (InputInterface $input, OutputInterface $output) use ($word) {
|
|
||||||
$sfStyle = new SymfonyStyleWithForcedLineLength($input, $output);
|
|
||||||
$sfStyle->block($word, 'CUSTOM', 'fg=white;bg=blue', ' § ', false);
|
|
||||||
});
|
|
||||||
|
|
||||||
$this->tester->execute(array(), array('interactive' => false, 'decorated' => false));
|
|
||||||
$expectedCount = (int) ceil($wordLength / ($maxLineLength)) + (int) ($wordLength > $maxLineLength - 5);
|
|
||||||
$this->assertSame($expectedCount, substr_count($this->tester->getDisplay(true), ' § '));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user