ÿØÿà JFIF H H ÿÛ C ÿÛ Cÿ " ÿÄ ÿÄ ÿÚ ±5¬€ ÿÄ àÿÚ ÿÄ ÀÿÚ ? ÿÄ ÀÿÚ ? ÿÄ àÿÚ ? ÿÄ àÿÚ ?! ÿÚ ÿÄ ÀÿÚ ? ÿÄ ÀÿÚ ? ÿÄ àÿÚ ? ÿÙ
| Server IP : 160.25.81.117 / Your IP : 216.73.216.137 Web Server : Apache/2 System : Linux sv05.hilab.cloud 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : bellizen ( 1045) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/bellizen/public_html/vaoday/vendor/symfony/console/Tests/Helper/ |
Upload File : |
<?php
namespace Symfony\Component\Console\Tests\Helper;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Helper\ProgressIndicator;
use Symfony\Component\Console\Output\StreamOutput;
/**
* @group time-sensitive
*/
class ProgressIndicatorTest extends TestCase
{
public function testDefaultIndicator()
{
$bar = new ProgressIndicator($output = $this->getOutputStream());
$bar->start('Starting...');
usleep(101000);
$bar->advance();
usleep(101000);
$bar->advance();
usleep(101000);
$bar->advance();
usleep(101000);
$bar->advance();
usleep(101000);
$bar->advance();
usleep(101000);
$bar->setMessage('Advancing...');
$bar->advance();
$bar->finish('Done...');
$bar->start('Starting Again...');
usleep(101000);
$bar->advance();
$bar->finish('Done Again...');
rewind($output->getStream());
$this->assertEquals(
$this->generateOutput(' - Starting...').
$this->generateOutput(' \\ Starting...').
$this->generateOutput(' | Starting...').
$this->generateOutput(' / Starting...').
$this->generateOutput(' - Starting...').
$this->generateOutput(' \\ Starting...').
$this->generateOutput(' \\ Advancing...').
$this->generateOutput(' | Advancing...').
$this->generateOutput(' | Done...').
PHP_EOL.
$this->generateOutput(' - Starting Again...').
$this->generateOutput(' \\ Starting Again...').
$this->generateOutput(' \\ Done Again...').
PHP_EOL,
stream_get_contents($output->getStream())
);
}
public function testNonDecoratedOutput()
{
$bar = new ProgressIndicator($output = $this->getOutputStream(false));
$bar->start('Starting...');
$bar->advance();
$bar->advance();
$bar->setMessage('Midway...');
$bar->advance();
$bar->advance();
$bar->finish('Done...');
rewind($output->getStream());
$this->assertEquals(
' Starting...'.PHP_EOL.
' Midway...'.PHP_EOL.
' Done...'.PHP_EOL.PHP_EOL,
stream_get_contents($output->getStream())
);
}
public function testCustomIndicatorValues()
{
$bar = new ProgressIndicator($output = $this->getOutputStream(), null, 100, array('a', 'b', 'c'));
$bar->start('Starting...');
usleep(101000);
$bar->advance();
usleep(101000);
$bar->advance();
usleep(101000);
$bar->advance();
rewind($output->getStream());
$this->assertEquals(
$this->generateOutput(' a Starting...').
$this->generateOutput(' b Starting...').
$this->generateOutput(' c Starting...').
$this->generateOutput(' a Starting...'),
stream_get_contents($output->getStream())
);
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage Must have at least 2 indicator value characters.
*/
public function testCannotSetInvalidIndicatorCharacters()
{
$bar = new ProgressIndicator($this->getOutputStream(), null, 100, array('1'));
}
/**
* @expectedException \LogicException
* @expectedExceptionMessage Progress indicator already started.
*/
public function testCannotStartAlreadyStartedIndicator()
{
$bar = new ProgressIndicator($this->getOutputStream());
$bar->start('Starting...');
$bar->start('Starting Again.');
}
/**
* @expectedException \LogicException
* @expectedExceptionMessage Progress indicator has not yet been started.
*/
public function testCannotAdvanceUnstartedIndicator()
{
$bar = new ProgressIndicator($this->getOutputStream());
$bar->advance();
}
/**
* @expectedException \LogicException
* @expectedExceptionMessage Progress indicator has not yet been started.
*/
public function testCannotFinishUnstartedIndicator()
{
$bar = new ProgressIndicator($this->getOutputStream());
$bar->finish('Finished');
}
/**
* @dataProvider provideFormat
*/
public function testFormats($format)
{
$bar = new ProgressIndicator($output = $this->getOutputStream(), $format);
$bar->start('Starting...');
$bar->advance();
rewind($output->getStream());
$this->assertNotEmpty(stream_get_contents($output->getStream()));
}
/**
* Provides each defined format.
*
* @return array
*/
public function provideFormat()
{
return array(
array('normal'),
array('verbose'),
array('very_verbose'),
array('debug'),
);
}
protected function getOutputStream($decorated = true, $verbosity = StreamOutput::VERBOSITY_NORMAL)
{
return new StreamOutput(fopen('php://memory', 'r+', false), $verbosity, $decorated);
}
protected function generateOutput($expected)
{
$count = substr_count($expected, "\n");
return "\x0D\x1B[2K".($count ? sprintf("\033[%dA", $count) : '').$expected;
}
}