diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-09-05 13:05:31 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-09-05 13:05:31 +0000 |
commit | 6586b7646585d34b878bda18155a37e5eec729cb (patch) | |
tree | 344c0b1fc90a22b8e896e40c27fa0edc421e93f5 /modules/simpletest/drupal_web_test_case.php | |
parent | 2f957104450835e8007a40af31d440f616517e7c (diff) | |
download | brdo-6586b7646585d34b878bda18155a37e5eec729cb.tar.gz brdo-6586b7646585d34b878bda18155a37e5eec729cb.tar.bz2 |
- Patch by #1577 by chx, boombatower, Bèr Kessels, kkaefer: made SSL support a bit easier by providing two cookies and ... hook_goto_alter.
Diffstat (limited to 'modules/simpletest/drupal_web_test_case.php')
-rw-r--r-- | modules/simpletest/drupal_web_test_case.php | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/modules/simpletest/drupal_web_test_case.php b/modules/simpletest/drupal_web_test_case.php index 41abb195c..f9789fe2f 100644 --- a/modules/simpletest/drupal_web_test_case.php +++ b/modules/simpletest/drupal_web_test_case.php @@ -1310,13 +1310,19 @@ class DrupalWebTestCase extends DrupalTestCase { call_user_func_array(array(&$this, 'error'), unserialize(urldecode($matches[1]))); } - // Save the session cookie, if set. - if (preg_match('/^Set-Cookie: ' . preg_quote($this->session_name) . '=([a-z90-9]+)/', $header, $matches)) { - if ($matches[1] != 'deleted') { - $this->session_id = $matches[1]; - } - else { - $this->session_id = NULL; + // Save cookies. + if (preg_match('/^Set-Cookie: ([^=]+)=(.+)/', $header, $matches)) { + $name = $matches[1]; + $parts = array_map('trim', explode(';', $matches[2])); + $value = array_shift($parts); + $this->cookies[$name] = array('value' => $value, 'secure' => in_array('secure', $parts)); + if ($name == $this->session_name) { + if ($value != 'deleted') { + $this->session_id = $value; + } + else { + $this->session_id = NULL; + } } } |