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');
 | |
|     }
 | |
| }
 | 
