38 lines
		
	
	
		
			1000 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1000 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace GuzzleHttp\Tests\Psr7;
 | 
						|
 | 
						|
use GuzzleHttp\Psr7\NoSeekStream;
 | 
						|
 | 
						|
/**
 | 
						|
 * @covers GuzzleHttp\Psr7\NoSeekStream
 | 
						|
 * @covers GuzzleHttp\Psr7\StreamDecoratorTrait
 | 
						|
 */
 | 
						|
class NoSeekStreamTest extends BaseTest
 | 
						|
{
 | 
						|
    public function testCannotSeek()
 | 
						|
    {
 | 
						|
        $s = $this->getMockBuilder('Psr\Http\Message\StreamInterface')
 | 
						|
            ->setMethods(['isSeekable', 'seek'])
 | 
						|
            ->getMockForAbstractClass();
 | 
						|
        $s->expects(self::never())->method('seek');
 | 
						|
        $s->expects(self::never())->method('isSeekable');
 | 
						|
        $wrapped = new NoSeekStream($s);
 | 
						|
        self::assertFalse($wrapped->isSeekable());
 | 
						|
 | 
						|
        $this->expectExceptionGuzzle('RuntimeException', 'Cannot seek a NoSeekStream');
 | 
						|
 | 
						|
        $wrapped->seek(2);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testToStringDoesNotSeek()
 | 
						|
    {
 | 
						|
        $s = \GuzzleHttp\Psr7\Utils::streamFor('foo');
 | 
						|
        $s->seek(1);
 | 
						|
        $wrapped = new NoSeekStream($s);
 | 
						|
        self::assertSame('oo', (string) $wrapped);
 | 
						|
 | 
						|
        $wrapped->close();
 | 
						|
    }
 | 
						|
}
 |