You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
<?php |
|
namespace GuzzleHttp\Tests\Psr7; |
|
|
|
use GuzzleHttp\Psr7; |
|
use GuzzleHttp\Psr7\NoSeekStream; |
|
|
|
/** |
|
* @covers GuzzleHttp\Psr7\NoSeekStream |
|
* @covers GuzzleHttp\Psr7\StreamDecoratorTrait |
|
*/ |
|
class NoSeekStreamTest extends \PHPUnit_Framework_TestCase |
|
{ |
|
/** |
|
* @expectedException \RuntimeException |
|
* @expectedExceptionMessage Cannot seek a NoSeekStream |
|
*/ |
|
public function testCannotSeek() |
|
{ |
|
$s = $this->getMockBuilder('Psr\Http\Message\StreamInterface') |
|
->setMethods(['isSeekable', 'seek']) |
|
->getMockForAbstractClass(); |
|
$s->expects($this->never())->method('seek'); |
|
$s->expects($this->never())->method('isSeekable'); |
|
$wrapped = new NoSeekStream($s); |
|
$this->assertFalse($wrapped->isSeekable()); |
|
$wrapped->seek(2); |
|
} |
|
|
|
/** |
|
* @expectedException \RuntimeException |
|
* @expectedExceptionMessage Cannot write to a non-writable stream |
|
*/ |
|
public function testHandlesClose() |
|
{ |
|
$s = Psr7\stream_for('foo'); |
|
$wrapped = new NoSeekStream($s); |
|
$wrapped->close(); |
|
$wrapped->write('foo'); |
|
} |
|
}
|
|
|