From 8dad8d8c43dd953a6b74f4647f6b985648c979a1 Mon Sep 17 00:00:00 2001 From: digitalkaoz Date: Fri, 9 Mar 2012 19:30:37 +0100 Subject: [PATCH 1/2] added some trivial tests --- tests/Composer/Test/ComposerTest.php | 62 ++++++++++++++ .../Test/Downloader/ArchiveDownloaderTest.php | 17 ++++ tests/Composer/Test/IO/NullIOTest.php | 84 +++++++++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 tests/Composer/Test/ComposerTest.php create mode 100644 tests/Composer/Test/IO/NullIOTest.php 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 From a284eb5cfe9ecff2fa12b2646641088fa16e6bf4 Mon Sep 17 00:00:00 2001 From: digitalkaoz Date: Sat, 10 Mar 2012 09:53:03 +0100 Subject: [PATCH 2/2] coding style fixes --- tests/Composer/Test/ComposerTest.php | 10 +++++----- .../Composer/Test/Downloader/ArchiveDownloaderTest.php | 3 +-- tests/Composer/Test/IO/NullIOTest.php | 8 ++++---- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/tests/Composer/Test/ComposerTest.php b/tests/Composer/Test/ComposerTest.php index e1fb8de3c..80feb51ba 100644 --- a/tests/Composer/Test/ComposerTest.php +++ b/tests/Composer/Test/ComposerTest.php @@ -21,7 +21,7 @@ class ComposerTest extends TestCase $package = $this->getMock('Composer\Package\PackageInterface'); $composer->setPackage($package); - $this->assertEquals($package,$composer->getPackage()); + $this->assertSame($package, $composer->getPackage()); } public function testSetGetLocker() @@ -30,7 +30,7 @@ class ComposerTest extends TestCase $locker = $this->getMockBuilder('Composer\Package\Locker')->disableOriginalConstructor()->getMock(); $composer->setLocker($locker); - $this->assertEquals($locker,$composer->getLocker()); + $this->assertSame($locker, $composer->getLocker()); } public function testSetGetRepositoryManager() @@ -39,7 +39,7 @@ class ComposerTest extends TestCase $manager = $this->getMockBuilder('Composer\Repository\RepositoryManager')->disableOriginalConstructor()->getMock(); $composer->setRepositoryManager($manager); - $this->assertEquals($manager,$composer->getRepositoryManager()); + $this->assertSame($manager, $composer->getRepositoryManager()); } public function testSetGetDownloadManager() @@ -48,7 +48,7 @@ class ComposerTest extends TestCase $manager = $this->getMock('Composer\Downloader\DownloadManager'); $composer->setDownloadManager($manager); - $this->assertEquals($manager,$composer->getDownloadManager()); + $this->assertSame($manager, $composer->getDownloadManager()); } public function testSetGetInstallationManager() @@ -57,6 +57,6 @@ class ComposerTest extends TestCase $manager = $this->getMock('Composer\Installer\InstallationManager'); $composer->setInstallationManager($manager); - $this->assertEquals($manager,$composer->getInstallationManager()); + $this->assertSame($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 ce4a2b0fe..b7f2c0f53 100644 --- a/tests/Composer/Test/Downloader/ArchiveDownloaderTest.php +++ b/tests/Composer/Test/Downloader/ArchiveDownloaderTest.php @@ -42,8 +42,7 @@ class ArchiveDownloaderTest extends \PHPUnit_Framework_TestCase $expected = 'https://github.com/composer/composer/zipball/master'; $url = $method->invoke($downloader, $expected); - if(extension_loaded('openssl')) - { + 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 index 406db336d..854f27862 100644 --- a/tests/Composer/Test/IO/NullIOTest.php +++ b/tests/Composer/Test/IO/NullIOTest.php @@ -56,23 +56,23 @@ class NullIOTest extends TestCase { $io = new NullIO(); - $this->assertInternalType('array',$io->getAuthorizations()); + $this->assertInternalType('array', $io->getAuthorizations()); $this->assertEmpty($io->getAuthorizations()); - $this->assertEquals(array('username' => null, 'password' => null),$io->getAuthorization('foo')); + $this->assertEquals(array('username' => null, 'password' => null), $io->getAuthorization('foo')); } public function testAsk() { $io = new NullIO(); - $this->assertEquals('foo',$io->ask('bar','foo')); + $this->assertEquals('foo', $io->ask('bar', 'foo')); } public function testAskConfirmation() { $io = new NullIO(); - $this->assertEquals('foo',$io->askConfirmation('bar','foo')); + $this->assertEquals('foo', $io->askConfirmation('bar', 'foo')); } public function testAskAndValidate()