}
/**
- * @covers FauxResponse::getcookie
- * @covers FauxResponse::setcookie
+ * @covers FauxResponse::setCookie
+ * @covers FauxResponse::getCookie
+ * @covers FauxResponse::getCookieData
+ * @covers FauxResponse::getCookies
*/
public function testCookie() {
- $this->assertEquals( null, $this->response->getcookie( 'key' ), 'Non-existing cookie' );
- $this->response->setcookie( 'key', 'val' );
- $this->assertEquals( 'val', $this->response->getcookie( 'key' ), 'Existing cookie' );
+ $expire = time() + 100;
+ $cookie = [
+ 'value' => 'val',
+ 'path' => '/path',
+ 'domain' => 'domain',
+ 'secure' => true,
+ 'httpOnly' => false,
+ 'raw' => false,
+ 'expire' => $expire,
+ ];
+
+ $this->assertEquals( null, $this->response->getCookie( 'xkey' ), 'Non-existing cookie' );
+ $this->response->setCookie( 'key', 'val', $expire, [
+ 'prefix' => 'x',
+ 'path' => '/path',
+ 'domain' => 'domain',
+ 'secure' => 1,
+ 'httpOnly' => 0,
+ ] );
+ $this->assertEquals( 'val', $this->response->getCookie( 'xkey' ), 'Existing cookie' );
+ $this->assertEquals( $cookie, $this->response->getCookieData( 'xkey' ),
+ 'Existing cookie (data)' );
+ $this->assertEquals( [ 'xkey' => $cookie ], $this->response->getCookies(),
+ 'Existing cookies' );
}
/**
* @covers FauxResponse::header
*/
public function testHeader() {
- $this->assertEquals( null, $this->response->getheader( 'Location' ), 'Non-existing header' );
+ $this->assertEquals( null, $this->response->getHeader( 'Location' ), 'Non-existing header' );
$this->response->header( 'Location: http://localhost/' );
$this->assertEquals(
'http://localhost/',
- $this->response->getheader( 'Location' ),
+ $this->response->getHeader( 'Location' ),
'Set header'
);
$this->response->header( 'Location: http://127.0.0.1/' );
$this->assertEquals(
'http://127.0.0.1/',
- $this->response->getheader( 'Location' ),
+ $this->response->getHeader( 'Location' ),
'Same header'
);
$this->response->header( 'Location: http://127.0.0.2/', false );
$this->assertEquals(
'http://127.0.0.1/',
- $this->response->getheader( 'Location' ),
+ $this->response->getHeader( 'Location' ),
'Same header with override disabled'
);
$this->response->header( 'Location: http://localhost/' );
$this->assertEquals(
'http://localhost/',
- $this->response->getheader( 'LOCATION' ),
+ $this->response->getHeader( 'LOCATION' ),
'Get header case insensitive'
);
}