protected function WebTestBase::checkForMetaRefresh in Drupal 8
Checks for meta refresh tag and if found call drupalGet() recursively.
This function looks for the http-equiv attribute to be set to "Refresh" and is case-sensitive.
Return value
Either the new page content or FALSE.
2 calls to WebTestBase::checkForMetaRefresh()
- WebTestBase::drupalGet in core/
modules/ simpletest/ src/ WebTestBase.php - Retrieves a Drupal path or an absolute path.
- WebTestBase::drupalPostForm in core/
modules/ simpletest/ src/ WebTestBase.php - Executes a form submission.
File
- core/
modules/ simpletest/ src/ WebTestBase.php, line 1472
Class
- WebTestBase
- Test case for typical Drupal tests.
Namespace
Drupal\simpletestCode
protected function checkForMetaRefresh() {
if (strpos($this
->getRawContent(), '<meta ') && $this
->parse() && (!isset($this->maximumMetaRefreshCount) || $this->metaRefreshCount < $this->maximumMetaRefreshCount)) {
$refresh = $this
->xpath('//meta[@http-equiv="Refresh"]');
if (!empty($refresh)) {
// Parse the content attribute of the meta tag for the format:
// "[delay]: URL=[page_to_redirect_to]".
if (preg_match('/\\d+;\\s*URL=(?<url>.*)/i', $refresh[0]['content'], $match)) {
$this->metaRefreshCount++;
return $this
->drupalGet($this
->getAbsoluteUrl(Html::decodeEntities($match['url'])));
}
}
}
return FALSE;
}