Open Journal Systems  3.3.0
ReadLimitEntityBodyTest.php
1 <?php
2 
3 namespace Guzzle\Tests\Http;
4 
7 
12 {
14  protected $body;
15 
17  protected $decorated;
18 
19  public function setUp()
20  {
21  $this->decorated = EntityBody::factory(fopen(__FILE__, 'r'));
22  $this->body = new ReadLimitEntityBody($this->decorated, 10, 3);
23  }
24 
26  {
27  $body = EntityBody::factory('foo_baz_bar');
28  $limited = new ReadLimitEntityBody($body, 3, 4);
29  $this->assertEquals('baz', (string) $limited);
30  }
31 
33  {
35  $limited = new ReadLimitEntityBody($body, 0, 10);
36  $this->assertEquals('', (string) $limited);
37  }
38 
39  public function testSeeksWhenConstructed()
40  {
41  $this->assertEquals(3, $this->body->ftell());
42  }
43 
44  public function testAllowsBoundedSeek()
45  {
46  $this->body->seek(100);
47  $this->assertEquals(13, $this->body->ftell());
48  $this->body->seek(0);
49  $this->assertEquals(3, $this->body->ftell());
50  $this->assertEquals(false, $this->body->seek(1000, SEEK_END));
51  }
52 
53  public function testReadsOnlySubsetOfData()
54  {
55  $data = $this->body->read(100);
56  $this->assertEquals(10, strlen($data));
57  $this->assertFalse($this->body->read(1000));
58 
59  $this->body->setOffset(10);
60  $newData = $this->body->read(100);
61  $this->assertEquals(10, strlen($newData));
62  $this->assertNotSame($data, $newData);
63  }
64 
66  {
67  $this->assertFalse($this->body->isConsumed());
68  $this->body->read(1000);
69  $this->assertTrue($this->body->isConsumed());
70  }
71 
72  public function testContentLengthIsBounded()
73  {
74  $this->assertEquals(10, $this->body->getContentLength());
75  }
76 
77  public function testContentMd5IsBasedOnSubsection()
78  {
79  $this->assertNotSame($this->body->getContentMd5(), $this->decorated->getContentMd5());
80  }
81 }
Guzzle\Tests\Http\ReadLimitEntityBodyTest\testAllowsBoundedSeek
testAllowsBoundedSeek()
Definition: ReadLimitEntityBodyTest.php:50
Guzzle\Tests\Http\ReadLimitEntityBodyTest\testReturnsSubsetWhenCastToString
testReturnsSubsetWhenCastToString()
Definition: ReadLimitEntityBodyTest.php:31
Guzzle\Tests\GuzzleTestCase
Definition: GuzzleTestCase.php:22
Guzzle\Http\EntityBody\factory
static factory($resource='', $size=null)
Definition: EntityBody.php:36
Guzzle\Tests\Http\ReadLimitEntityBodyTest\testSeeksWhenConstructed
testSeeksWhenConstructed()
Definition: ReadLimitEntityBodyTest.php:45
Guzzle\Http\EntityBody
Definition: EntityBody.php:13
Guzzle\Tests\Http\ReadLimitEntityBodyTest\testContentMd5IsBasedOnSubsection
testContentMd5IsBasedOnSubsection()
Definition: ReadLimitEntityBodyTest.php:83
Guzzle\Http\ReadLimitEntityBody
Definition: ReadLimitEntityBody.php:10
Guzzle\Tests\Http\ReadLimitEntityBodyTest\testClaimsConsumedWhenReadLimitIsReached
testClaimsConsumedWhenReadLimitIsReached()
Definition: ReadLimitEntityBodyTest.php:71
Guzzle\Tests\Http\ReadLimitEntityBodyTest\testReadsOnlySubsetOfData
testReadsOnlySubsetOfData()
Definition: ReadLimitEntityBodyTest.php:59
Guzzle\Tests\Http\ReadLimitEntityBodyTest\setUp
setUp()
Definition: ReadLimitEntityBodyTest.php:25
Guzzle\Tests\Http\ReadLimitEntityBodyTest\$body
$body
Definition: ReadLimitEntityBodyTest.php:17
Guzzle\Tests\Http\ReadLimitEntityBodyTest\$decorated
$decorated
Definition: ReadLimitEntityBodyTest.php:23
Guzzle\Tests\Http\ReadLimitEntityBodyTest\testContentLengthIsBounded
testContentLengthIsBounded()
Definition: ReadLimitEntityBodyTest.php:78
Guzzle\Tests\Http\ReadLimitEntityBodyTest
Definition: ReadLimitEntityBodyTest.php:11
Guzzle\Tests\Http\ReadLimitEntityBodyTest\testReturnsSubsetOfEmptyBodyWhenCastToString
testReturnsSubsetOfEmptyBodyWhenCastToString()
Definition: ReadLimitEntityBodyTest.php:38
Guzzle\Tests\Http
Definition: AbstractEntityBodyDecoratorTest.php:3