If a Location header was given and the status code is of response type 3xx
(see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html, 14.30 Location)
public request ( string | |
||
$uri | string | |
|
$method | string | Request method, for example "GET" |
$arguments | array | Arguments to send in the request body |
$files | array | |
$server | array | |
$content | string | |
return | The HTTP response |
/** * @test * @expectedException \Neos\Flow\Http\Client\InfiniteRedirectionException */ public function browserHaltsOnExceedingMaximumRedirections() { $requestEngine = $this->createMock(Client\RequestEngineInterface::class); for ($i = 0; $i <= 10; $i++) { $response = new Http\Response(); $response->setHeader('Location', 'http://localhost/this/willLead/you/knowhere/' . $i); $response->setStatus(301); $requestEngine->expects($this->at($i))->method('sendRequest')->will($this->returnValue($response)); } $this->browser->setRequestEngine($requestEngine); $this->browser->request('http://localhost/some/initialRequest'); }
/** * @test */ public function valueForDisabledCheckboxIsNotLost() { $postIdentifier = $this->setupDummyPost(); $post = $this->persistenceManager->getObjectByIdentifier($postIdentifier, \Neos\FluidAdaptor\Tests\Functional\Form\Fixtures\Domain\Model\Post::class); $this->assertEquals(true, $post->getPrivate()); $this->browser->request('http://localhost/test/fluid/formobjects/edit?fooPost=' . $postIdentifier); $checkboxDisabled = $this->browser->getCrawler()->filterXPath('//*[@id="private"]')->attr('disabled'); $this->assertNotEmpty($checkboxDisabled); $this->assertEquals($checkboxDisabled, $this->browser->getCrawler()->filterXPath('//input[@type="hidden" and contains(@name,"private")]')->attr('disabled'), 'The hidden checkbox field is not disabled like the connected checkbox.'); $form = $this->browser->getForm(); $this->browser->submit($form); $this->persistenceManager->clearState(); $post = $this->persistenceManager->getObjectByIdentifier($postIdentifier, \Neos\FluidAdaptor\Tests\Functional\Form\Fixtures\Domain\Model\Post::class); // This will currently never fail, because DomCrawler\Form does not handle hidden checkbox fields correctly! // Hence this test currently only relies on the correctly set "disabled" attribute on the hidden field. $this->assertEquals(true, $post->getPrivate(), 'The value for the checkbox field "private" was lost on form submit!'); }