Commit a10e1622 authored by webchick's avatar webchick

#554106 by dropcube, boombatower, deekayen, and sun: Let DWTC handle HTTP...

#554106 by dropcube, boombatower, deekayen, and sun: Let DWTC handle HTTP location header to ensure drupal_generate_test_ua() is called. Fix for testing bot.
parent 45e2d8ef
......@@ -1237,8 +1237,7 @@ protected function curlInitialize() {
$curl_options = $this->additionalCurlOptions + array(
CURLOPT_COOKIEJAR => $this->cookieFile,
CURLOPT_URL => $base_url,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_MAXREDIRS => 5,
CURLOPT_FOLLOWLOCATION => FALSE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_SSL_VERIFYPEER => FALSE, // Required to make the tests run on https.
CURLOPT_SSL_VERIFYHOST => FALSE, // Required to make the tests run on https.
......@@ -1389,7 +1388,7 @@ protected function drupalGet($path, array $options = array(), array $headers = a
$this->refreshVariables(); // Ensure that any changes to variables in the other thread are picked up.
// Replace original page output with new output from redirected page(s).
if (($new = $this->checkForMetaRefresh())) {
if (($new = $this->checkForRedirect())) {
$out = $new;
}
$this->verbose('GET request to: ' . $path .
......@@ -1479,7 +1478,7 @@ protected function drupalPost($path, $edit, $submit, array $options = array(), a
$this->refreshVariables();
// Replace original page output with new output from redirected page(s).
if (($new = $this->checkForMetaRefresh())) {
if (($new = $this->checkForRedirect())) {
$out = $new;
}
$this->verbose('POST request to: ' . $path .
......@@ -1499,14 +1498,22 @@ protected function drupalPost($path, $edit, $submit, array $options = array(), a
}
/**
* Check for meta refresh tag and if found call drupalGet() recursively. This
* Check for meta refresh tag or HTTP location header.
*
* If either redirect indicators are found call drupalGet() recursively. This
* function looks for the http-equiv attribute to be set to "Refresh"
* and is case-sensitive.
*
* @return
* Either the new page content or FALSE.
*/
protected function checkForMetaRefresh() {
protected function checkForRedirect() {
foreach ($this->headers as $header) {
if (strpos($header, 'Location') !== FALSE) {
return $this->drupalGet(trim(str_replace('Location:', '', $header)));
}
}
if ($this->drupalGetContent() != '' && $this->parse()) {
$refresh = $this->xpath('//meta[@http-equiv="Refresh"]');
if (!empty($refresh)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment