/usr/share/php/tests/Horde_Controller/Horde/Controller/FilterRunnerTest.php is in php-horde-controller 2.0.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | <?php
/**
* Prepare the test setup.
*/
class Horde_Controller_FilterRunnerTest extends Horde_Test_Case
{
public function testFilterRunnerDoesNotCallControllerWhenAPreFilterHandlesTheRequest()
{
$filter = $this->getMock('Horde_Controller_PreFilter', array('processRequest'));
$filter->expects($this->once())
->method('processRequest')
->will($this->returnValue(Horde_Controller_PreFilter::REQUEST_HANDLED));
$runner = new Horde_Controller_FilterRunner($this->_getControllerMockNeverCalled());
$runner->addPreFilter($filter);
$runner->processRequest($this->getMock('Horde_Controller_Request'), new Horde_Controller_Response());
}
public function testShouldUsePreFiltersInFirstInFirstOutOrder()
{
// The second filter should never be called because first filter returns
// REQUEST_HANDLED, meaning it can handle the request.
$preFilter1 = $this->getMock('Horde_Controller_PreFilter', array('processRequest'));
$preFilter1->expects($this->once())
->method('processRequest')
->will($this->returnValue(Horde_Controller_PreFilter::REQUEST_HANDLED));
$preFilter2 = $this->getMock('Horde_Controller_PreFilter', array('processRequest'));
$preFilter2->expects($this->never())
->method('processRequest');
$runner = new Horde_Controller_FilterRunner($this->_getControllerMockNeverCalled());
$runner->addPreFilter($preFilter1);
$runner->addPreFilter($preFilter2);
$this->_runFilterRunner($runner);
}
public function testShouldUsePostFiltersInFirstInLastOutOrder()
{
// Both filters should be called because the first filter returns
// REQUEST_HANDLED, meaning it can handle the request
$postFilter1 = $this->getMock('Horde_Controller_PostFilter', array('processResponse'));
$postFilter1->expects($this->once())
->method('processResponse')
->will($this->returnValue(Horde_Controller_PreFilter::REQUEST_HANDLED));
$postFilter2 = $this->getMock('Horde_Controller_PostFilter', array('processResponse'));
$postFilter2->expects($this->once())
->method('processResponse');
$controller = $this->getMock('Horde_Controller', array('processRequest'));
$controller->expects($this->once())
->method('processRequest');
$runner = new Horde_Controller_FilterRunner($controller);
$runner->addPostFilter($postFilter1);
$runner->addPostFilter($postFilter2);
$this->_runFilterRunner($runner);
}
private function _getControllerMockNeverCalled()
{
$controller = $this->getMock('Horde_Controller', array('processRequest'));
$controller->expects($this->never())
->method('processRequest');
return $controller;
}
private function _runFilterRunner(Horde_Controller_FilterRunner $runner)
{
$response = $this->getMock('Horde_Controller_Response', array('processRequest'));
$response->expects($this->never())->method('processRequest');
$runner->processRequest(new Horde_Controller_Request_Null(), $response);
}
}
|