followRedirect() public method

Follow redirects?
public followRedirect ( ) : Crawler
return Symfony\Component\DomCrawler\Crawler
Esempio n. 1
0
 /**
  *  override to allow redirect history recording
  *     
  *  @see  parent::followRedirect
  */
 public function followRedirect()
 {
     if (!empty($this->redirect)) {
         $this->redirect_list[] = $this->redirect;
     }
     //if
     return parent::followRedirect();
 }
Esempio n. 2
0
 protected function login(Client $client, $username = '******', $password = '******')
 {
     $client->restart();
     $crawler = $client->request('GET', '/login');
     $this->assertTrue($client->getResponse()->isSuccessful(), 'Response should be successful');
     $form = $crawler->selectButton('Login')->form();
     $client->submit($form, array('_username' => $username, '_password' => $password));
     $this->assertTrue($client->getResponse()->isRedirect(), 'Response should be redirect');
     $crawler = $client->followRedirect();
     $this->assertGreaterThan(0, $crawler->filter('html:contains("Benvenuto")')->count());
 }
Esempio n. 3
0
 /**
  * @param $result
  * @return mixed
  */
 protected function redirectIfNecessary($result, $maxRedirects, $redirectCount)
 {
     $locationHeader = $this->client->getInternalResponse()->getHeader('Location');
     if ($locationHeader) {
         if ($redirectCount == $maxRedirects) {
             throw new \LogicException(sprintf('The maximum number (%d) of redirections was reached.', $maxRedirects));
         }
         $this->debugSection('Redirecting to', $locationHeader);
         $result = $this->client->followRedirect();
         $this->debugResponse($locationHeader);
         return $this->redirectIfNecessary($result, $maxRedirects, $redirectCount + 1);
     }
     $this->client->followRedirects(true);
     return $result;
 }
Esempio n. 4
0
 /**
  * @param Client $client
  * @param $editUri
  * @param $editData
  * @param $expectedNewTitle
  */
 private function updatePage(Client $client, $editUri, $editData, $expectedNewTitle)
 {
     $crawler = $client->request('GET', $editUri . '?uniqid=page');
     $this->assertTrue($client->getResponse()->isSuccessful());
     $form = $crawler->selectButton('Update')->form();
     $form->setValues($editData);
     $client->submit($form);
     $this->assertTrue($client->getResponse()->isRedirect());
     $crawler = $client->followRedirect();
     $this->assertRegExp('|/admin/cmf/page/page/cms/content/page/[A-z0-9]{13}/edit|', $client->getRequest()->getUri());
     $this->assertContains('Item "' . $expectedNewTitle . '" has been successfully updated.', $crawler->filter('.alert.alert-success')->text());
 }