diff --git a/tests/Composer/Test/ComposerTest.php b/tests/Composer/Test/ComposerTest.php new file mode 100644 index 000000000..e1fb8de3c --- /dev/null +++ b/tests/Composer/Test/ComposerTest.php @@ -0,0 +1,62 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Test; + +use Composer\Composer; + +class ComposerTest extends TestCase +{ + public function testSetGetPackage() + { + $composer = new Composer(); + $package = $this->getMock('Composer\Package\PackageInterface'); + $composer->setPackage($package); + + $this->assertEquals($package,$composer->getPackage()); + } + + public function testSetGetLocker() + { + $composer = new Composer(); + $locker = $this->getMockBuilder('Composer\Package\Locker')->disableOriginalConstructor()->getMock(); + $composer->setLocker($locker); + + $this->assertEquals($locker,$composer->getLocker()); + } + + public function testSetGetRepositoryManager() + { + $composer = new Composer(); + $manager = $this->getMockBuilder('Composer\Repository\RepositoryManager')->disableOriginalConstructor()->getMock(); + $composer->setRepositoryManager($manager); + + $this->assertEquals($manager,$composer->getRepositoryManager()); + } + + public function testSetGetDownloadManager() + { + $composer = new Composer(); + $manager = $this->getMock('Composer\Downloader\DownloadManager'); + $composer->setDownloadManager($manager); + + $this->assertEquals($manager,$composer->getDownloadManager()); + } + + public function testSetGetInstallationManager() + { + $composer = new Composer(); + $manager = $this->getMock('Composer\Installer\InstallationManager'); + $composer->setInstallationManager($manager); + + $this->assertEquals($manager,$composer->getInstallationManager()); + } +} \ No newline at end of file diff --git a/tests/Composer/Test/Downloader/ArchiveDownloaderTest.php b/tests/Composer/Test/Downloader/ArchiveDownloaderTest.php index fbbf2b269..ce4a2b0fe 100644 --- a/tests/Composer/Test/Downloader/ArchiveDownloaderTest.php +++ b/tests/Composer/Test/Downloader/ArchiveDownloaderTest.php @@ -32,4 +32,21 @@ class ArchiveDownloaderTest extends \PHPUnit_Framework_TestCase $this->assertRegExp('#/path/[a-z0-9]+\.js#', $first); $this->assertSame($first, $method->invoke($downloader, $packageMock, '/path')); } + + public function testProcessUrl() + { + $downloader = $this->getMockForAbstractClass('Composer\Downloader\ArchiveDownloader', array($this->getMock('Composer\IO\IOInterface'))); + $method = new \ReflectionMethod($downloader, 'processUrl'); + $method->setAccessible(true); + + $expected = 'https://github.com/composer/composer/zipball/master'; + $url = $method->invoke($downloader, $expected); + + if(extension_loaded('openssl')) + { + $this->assertEquals($expected, $url); + } else { + $this->assertEquals('http://nodeload.github.com/composer/composer/zipball/master', $url); + } + } } diff --git a/tests/Composer/Test/IO/NullIOTest.php b/tests/Composer/Test/IO/NullIOTest.php new file mode 100644 index 000000000..406db336d --- /dev/null +++ b/tests/Composer/Test/IO/NullIOTest.php @@ -0,0 +1,84 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Test\IO; + +use Composer\IO\NullIO; +use Composer\Test\TestCase; + +class NullIOTest extends TestCase +{ + public function testIsInteractive() + { + $io = new NullIO(); + + $this->assertFalse($io->isInteractive()); + } + + public function testHasAuthorization() + { + $io = new NullIO(); + + $this->assertFalse($io->hasAuthorization('foo')); + } + + public function testGetLastPassword() + { + $io = new NullIO(); + + $this->assertNull($io->getLastPassword()); + } + + public function testGetLastUsername() + { + $io = new NullIO(); + + $this->assertNull($io->getLastUsername()); + } + + public function testAskAndHideAnswer() + { + $io = new NullIO(); + + $this->assertNull($io->askAndHideAnswer('foo')); + } + + public function testGetAuthorizations() + { + $io = new NullIO(); + + $this->assertInternalType('array',$io->getAuthorizations()); + $this->assertEmpty($io->getAuthorizations()); + $this->assertEquals(array('username' => null, 'password' => null),$io->getAuthorization('foo')); + } + + public function testAsk() + { + $io = new NullIO(); + + $this->assertEquals('foo',$io->ask('bar','foo')); + } + + public function testAskConfirmation() + { + $io = new NullIO(); + + $this->assertEquals('foo',$io->askConfirmation('bar','foo')); + } + + public function testAskAndValidate() + { + $io = new NullIO(); + + $this->assertEquals('foo', $io->askAndValidate('question', 'validator', false, 'foo')); + } +} \ No newline at end of file