Browse Source

added some trivial tests

digitalkaoz 13 years ago
parent
commit
8dad8d8c43

+ 62 - 0
tests/Composer/Test/ComposerTest.php

@@ -0,0 +1,62 @@
+<?php
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * 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());
+    }
+}

+ 17 - 0
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);
+        }
+    }
 }

+ 84 - 0
tests/Composer/Test/IO/NullIOTest.php

@@ -0,0 +1,84 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * 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'));
+    }
+}