From 79f3e7f4c8850842341e1fb007e24641e930f937 Mon Sep 17 00:00:00 2001 From: Michael Dowling Date: Thu, 6 Mar 2014 09:19:59 -0800 Subject: [PATCH] Adding some missing tests --- tests/Subscriber/PrepareRequestBodyTest.php | 32 +++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/Subscriber/PrepareRequestBodyTest.php b/tests/Subscriber/PrepareRequestBodyTest.php index c2dadb97..e0b84658 100644 --- a/tests/Subscriber/PrepareRequestBodyTest.php +++ b/tests/Subscriber/PrepareRequestBodyTest.php @@ -56,6 +56,26 @@ class PrepareRequestBodyTest extends \PHPUnit_Framework_TestCase $this->assertTrue($t->getRequest()->hasHeader('Expect')); } + public function testDoesNotModifyExpectHeaderIfPresent() + { + $s = new PrepareRequestBody(); + $t = $this->getTrans(); + $t->getRequest()->setHeader('Expect', 'foo'); + $t->getRequest()->setBody(Stream::factory('foo')); + $s->onBefore(new BeforeEvent($t)); + $this->assertEquals('foo', $t->getRequest()->getHeader('Expect')); + } + + public function testDoesAddExpectHeaderWhenSetToFalse() + { + $s = new PrepareRequestBody(); + $t = $this->getTrans(); + $t->getRequest()->getConfig()->set('expect', false); + $t->getRequest()->setBody(Stream::factory('foo')); + $s->onBefore(new BeforeEvent($t)); + $this->assertFalse($t->getRequest()->hasHeader('Expect')); + } + public function testDoesNotAddExpectHeaderBySize() { $s = new PrepareRequestBody(); @@ -85,6 +105,18 @@ class PrepareRequestBodyTest extends \PHPUnit_Framework_TestCase $this->assertFalse($t->getRequest()->hasHeader('Content-Length')); } + public function testUsesProvidedContentLengthAndRemovesXferEncoding() + { + $s = new PrepareRequestBody(); + $t = $this->getTrans(); + $t->getRequest()->setBody(Stream::factory('foo')); + $t->getRequest()->setHeader('Content-Length', '3'); + $t->getRequest()->setHeader('Transfer-Encoding', 'chunked'); + $s->onBefore(new BeforeEvent($t)); + $this->assertEquals(3, $t->getRequest()->getHeader('Content-Length')); + $this->assertFalse($t->getRequest()->hasHeader('Transfer-Encoding')); + } + public function testSetsContentTypeIfPossibleFromStream() { $body = $this->getMockBody();