1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- namespace Composer\Test;
- use Composer\Console\Application;
- use Composer\TestCase;
- use Symfony\Component\Console\Output\OutputInterface;
- class ApplicationTest extends TestCase
- {
- public function testDevWarning()
- {
- $application = new Application;
- $inputMock = $this->getMock('Symfony\Component\Console\Input\InputInterface');
- $outputMock = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
- $inputMock->expects($this->once())
- ->method('getFirstArgument')
- ->will($this->returnValue('list'));
- $index = 0;
- if (extension_loaded('xdebug')) {
- $outputMock->expects($this->at($index++))
- ->method("getVerbosity")
- ->willReturn(OutputInterface::VERBOSITY_NORMAL);
- $outputMock->expects($this->at($index++))
- ->method("write")
- ->with($this->equalTo('<warning>You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug</warning>'));
- }
- $outputMock->expects($this->at($index++))
- ->method("getVerbosity")
- ->willReturn(OutputInterface::VERBOSITY_NORMAL);
- $outputMock->expects($this->at($index++))
- ->method("write")
- ->with($this->equalTo(sprintf('<warning>Warning: This development build of composer is over 60 days old. It is recommended to update it by running "%s self-update" to get the latest version.</warning>', $_SERVER['PHP_SELF'])));
- if (!defined('COMPOSER_DEV_WARNING_TIME')) {
- define('COMPOSER_DEV_WARNING_TIME', time() - 1);
- }
- $this->setExpectedException('RuntimeException');
- $application->doRun($inputMock, $outputMock);
- }
- public function ensureNoDevWarning($command)
- {
- $application = new Application;
- $application->add(new \Composer\Command\SelfUpdateCommand);
- $inputMock = $this->getMock('Symfony\Component\Console\Input\InputInterface');
- $outputMock = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
- $inputMock->expects($this->once())
- ->method('getFirstArgument')
- ->will($this->returnValue($command));
- $outputMock->expects($this->never())
- ->method("writeln");
- if (!defined('COMPOSER_DEV_WARNING_TIME')) {
- define('COMPOSER_DEV_WARNING_TIME', time() - 1);
- }
- $this->setExpectedException('RuntimeException');
- $application->doRun($inputMock, $outputMock);
- }
- public function testDevWarningPrevented()
- {
- $this->ensureNoDevWarning('self-update');
- }
- public function testDevWarningPreventedAlias()
- {
- $this->ensureNoDevWarning('self-up');
- }
- }
|