Testing remaining implemented methods

This commit is contained in:
José Lorenzo Rodríguez 2010-07-31 13:04:53 -04:30
parent 2c7b21b977
commit 159ac2038e
2 changed files with 61 additions and 0 deletions

View file

@ -407,6 +407,7 @@ class CakeResponse {
}
if (isset($this->_mimeTypes[$contentType])) {
$contentType = $this->_mimeTypes[$contentType];
$contentType = is_array($contentType) ? current($contentType) : $contentType;
}
return $this->_contentType = $contentType;
}

View file

@ -5,6 +5,10 @@ App::import('Core', array('CakeResponse', 'CakeRequest'));
class CakeRequestTestCase extends CakeTestCase {
/**
* Tests the request object constructor
*
*/
public function testConstruct() {
$response = new CakeResponse();
$this->assertNull($response->body());
@ -24,4 +28,60 @@ class CakeRequestTestCase extends CakeTestCase {
$this->assertEquals($response->type(), 'audio/mpeg');
$this->assertEquals($response->statusCode(), 203);
}
/**
* Tests the body method
*
*/
public function testBody() {
$response = new CakeResponse();
$this->assertNull($response->body());
$response->body('Response body');
$this->assertEquals($response->body(), 'Response body');
$this->assertEquals($response->body('Changed Body'), 'Changed Body');
}
/**
* Tests the encoding method
*
*/
public function testEncoding() {
$response = new CakeResponse();
$this->assertEquals($response->encoding(), 'UTF-8');
$response->encoding('iso-8859-1');
$this->assertEquals($response->encoding(), 'iso-8859-1');
$this->assertEquals($response->encoding('UTF-16'), 'UTF-16');
}
/**
* Tests the statusCode method
*
* @expectedException OutOfRangeException
*/
public function testStatusCode() {
$response = new CakeResponse();
$this->assertEquals($response->statusCode(), 200);
$response->statusCode(404);
$this->assertEquals($response->statusCode(), 404);
$this->assertEquals($response->statusCode(500), 500);
//Throws exception
$response->statusCode(1001);
}
/**
* Tests the type method
*
*/
public function testType() {
$response = new CakeResponse();
$this->assertEquals($response->type(), 'text/html');
$response->type('pdf');
$this->assertEquals($response->type(), 'application/pdf');
$this->assertEquals($response->type('application/crazy-mime'), 'application/crazy-mime');
$this->assertEquals($response->type('json'), 'application/json');
$this->assertEquals($response->type('wap'), 'text/vnd.wap.wml');
$this->assertEquals($response->type('xhtml-mobile'), 'application/vnd.wap.xhtml+xml');
$this->assertEquals($response->type('csv'), 'text/csv');
}
}