Browse Source

[FrameworkBundle] added test for fix broken command registration

Bart van den Burg 12 years ago
parent
commit
79c547f09c

+ 0 - 1
src/Symfony/Bundle/FrameworkBundle/Console/Application.php

@@ -17,7 +17,6 @@ use Symfony\Component\Console\Input\InputOption;
 use Symfony\Component\Console\Output\OutputInterface;
 use Symfony\Component\HttpKernel\KernelInterface;
 use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\HttpKernel\Bundle;
 
 /**
  * Application.

+ 21 - 3
src/Symfony/Bundle/FrameworkBundle/Tests/Console/ApplicationTest.php

@@ -22,14 +22,32 @@ class ApplicationTest extends TestCase
     {
         $bundle = $this->getMock("Symfony\Component\HttpKernel\Bundle\BundleInterface");
 
+        $kernel = $this->getKernel(array($bundle));
+
+        $application = new Application($kernel);
+        $application->doRun(new ArrayInput(array('list')), new NullOutput());
+    }
+
+    public function testBundleCommandsAreRegistered()
+    {
+        $bundle = $this->getMock("Symfony\Component\HttpKernel\Bundle\Bundle");
+        $bundle->expects($this->once())->method('registerCommands');
+
+        $kernel = $this->getKernel(array($bundle));
+
+        $application = new Application($kernel);
+        $application->doRun(new ArrayInput(array('list')), new NullOutput());
+    }
+
+    private function getKernel(array $bundles)
+    {
         $kernel = $this->getMock("Symfony\Component\HttpKernel\KernelInterface");
         $kernel
             ->expects($this->any())
             ->method('getBundles')
-            ->will($this->returnValue(array($bundle)))
+            ->will($this->returnValue($bundles))
         ;
 
-        $application = new Application($kernel);
-        $application->doRun(new ArrayInput(array('list')), new NullOutput());
+        return $kernel;
     }
 }