41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
![]() |
<?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');
|
||
|
}
|
||
|
}
|