mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
MINOR: added cookies to Director::test()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@94684 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
e3543daeca
commit
999995b83a
@ -170,12 +170,13 @@ class Director {
|
||||
* Overwritten by $postVars['_method'] if present.
|
||||
* @param string $body The HTTP body
|
||||
* @param array $headers HTTP headers with key-value pairs
|
||||
* @param array $cookies to populate $_COOKIE
|
||||
* @return SS_HTTPResponse
|
||||
*
|
||||
* @uses getControllerForURL() The rule-lookup logic is handled by this.
|
||||
* @uses Controller::run() Controller::run() handles the page logic for a Director::direct() call.
|
||||
*/
|
||||
static function test($url, $postVars = null, $session = null, $httpMethod = null, $body = null, $headers = null) {
|
||||
static function test($url, $postVars = null, $session = null, $httpMethod = null, $body = null, $headers = null, $cookies = null) {
|
||||
// These are needed so that calling Director::test() doesnt muck with whoever is calling it.
|
||||
// Really, it's some inapproriate coupling and should be resolved by making less use of statics
|
||||
$oldStage = Versioned::current_stage();
|
||||
@ -216,7 +217,7 @@ class Director {
|
||||
$_GET = (array)$getVars;
|
||||
$_POST = (array)$postVars;
|
||||
$_SESSION = $session ? $session->inst_getAll() : array();
|
||||
$_COOKIE = array();
|
||||
$_COOKIE = (array) $cookies;
|
||||
$_SERVER['REQUEST_URI'] = Director::baseURL() . $urlWithQuerystring;
|
||||
|
||||
$req = new SS_HTTPRequest($httpMethod, $url, $getVars, $postVars, $body);
|
||||
|
@ -86,20 +86,22 @@ class FunctionalTest extends SapphireTest {
|
||||
|
||||
/**
|
||||
* Submit a get request
|
||||
* @uses Director::test()
|
||||
*/
|
||||
function get($url) {
|
||||
function get($url, $session = null, $headers = null, $cookies = null) {
|
||||
$this->cssParser = null;
|
||||
$response = $this->mainSession->get($url);
|
||||
$response = $this->mainSession->get($url, $session, $headers, $cookies);
|
||||
if($this->autoFollowRedirection && is_object($response) && $response->getHeader('Location')) $response = $this->mainSession->followRedirection();
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Submit a post request
|
||||
* @uses Director::test()
|
||||
*/
|
||||
function post($url, $data) {
|
||||
function post($url, $data, $headers = null, $session = null, $body = null, $cookies = null) {
|
||||
$this->cssParser = null;
|
||||
$response = $this->mainSession->post($url, $data);
|
||||
$response = $this->mainSession->post($url, $data, $headers, $session, $body, $cookies);
|
||||
if($this->autoFollowRedirection && is_object($response) && $response->getHeader('Location')) $response = $this->mainSession->followRedirection();
|
||||
return $response;
|
||||
}
|
||||
|
@ -40,9 +40,10 @@ class TestSession {
|
||||
* Submit a get request
|
||||
* @uses Director::test()
|
||||
*/
|
||||
function get($url) {
|
||||
$headers = ($this->lastUrl) ? array('Referer'=>$this->lastUrl) : null;
|
||||
$this->lastResponse = Director::test($url, null, $this->session, null, null, $headers);
|
||||
function get($url, $session = null, $headers = null, $cookies = null) {
|
||||
$headers = (array) $headers;
|
||||
if($this->lastUrl) $headers['Referer'] = $this->lastUrl;
|
||||
$this->lastResponse = Director::test($url, null, $session ? $session : $this->session, null, null, $headers, $cookies);
|
||||
$this->lastUrl = $url;
|
||||
if(!$this->lastResponse) user_error("Director::test($url) returned null", E_USER_WARNING);
|
||||
return $this->lastResponse;
|
||||
@ -52,9 +53,10 @@ class TestSession {
|
||||
* Submit a post request
|
||||
* @uses Director::test()
|
||||
*/
|
||||
function post($url, $data, $headers = null) {
|
||||
$headers = ($this->lastUrl) ? array('Referer'=>$this->lastUrl) : null;
|
||||
$this->lastResponse = Director::test($url, $data, $this->session, null, null, $headers);
|
||||
function post($url, $data, $headers = null, $session = null, $body = null, $cookies = null) {
|
||||
$headers = (array) $headers;
|
||||
if($this->lastUrl) $headers['Referer'] = $this->lastUrl;
|
||||
$this->lastResponse = Director::test($url, $data, $session ? $session : $this->session, null, $body, $headers, $cookies);
|
||||
$this->lastUrl = $url;
|
||||
if(!$this->lastResponse) user_error("Director::test($url) returned null", E_USER_WARNING);
|
||||
return $this->lastResponse;
|
||||
|
Loading…
Reference in New Issue
Block a user