. * */ namespace OC\AppFramework; use OC\AppFramework\Http\Request; use OC\AppFramework\Core\API; use OC\AppFramework\Middleware\MiddlewareDispatcher; // FIXME: loading pimpl correctly from 3rdparty repo require_once __DIR__ . '/../../../3rdparty/Pimple/Pimple.php'; //require_once __DIR__ . "/classloader.php"; class AppTest extends \PHPUnit_Framework_TestCase { private $container; private $api; private $controller; private $dispatcher; private $params; private $headers; private $output; private $controllerName; private $controllerMethod; protected function setUp() { $this->container = new \OC\AppFramework\DependencyInjection\DIContainer('test'); $this->controller = $this->getMockBuilder( 'OC\AppFramework\Controller\Controller') ->disableOriginalConstructor() ->getMock(); $this->dispatcher = $this->getMockBuilder( 'OC\AppFramework\Http\Dispatcher') ->disableOriginalConstructor() ->getMock(); $this->headers = array('key' => 'value'); $this->output = 'hi'; $this->controllerName = 'Controller'; $this->controllerMethod = 'method'; $this->container[$this->controllerName] = $this->controller; $this->container['Dispatcher'] = $this->dispatcher; } public function testControllerNameAndMethodAreBeingPassed(){ $return = array(null, array(), null); $this->dispatcher->expects($this->once()) ->method('dispatch') ->with($this->equalTo($this->controller), $this->equalTo($this->controllerMethod)) ->will($this->returnValue($return)); $this->expectOutputString(''); App::main($this->controllerName, $this->controllerMethod, array(), $this->container); } /* FIXME: this complains about shit headers which are already sent because of the content length. Would be cool if someone could fix this public function testOutputIsPrinted(){ $return = array(null, array(), $this->output); $this->dispatcher->expects($this->once()) ->method('dispatch') ->with($this->equalTo($this->controller), $this->equalTo($this->controllerMethod)) ->will($this->returnValue($return)); $this->expectOutputString($this->output); App::main($this->controllerName, $this->controllerMethod, array(), $this->container); } */ // FIXME: if someone manages to test the headers output, I'd be grateful }