diff options
Diffstat (limited to 'server/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php')
| -rw-r--r-- | server/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/server/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php b/server/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php new file mode 100644 index 0000000..0156e59 --- /dev/null +++ b/server/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php @@ -0,0 +1,100 @@ +<?php +namespace GuzzleHttp\Tests\Psr7; + +use GuzzleHttp\Psr7\StreamWrapper; +use GuzzleHttp\Psr7; + +/** + * @covers GuzzleHttp\Psr7\StreamWrapper + */ +class StreamWrapperTest extends \PHPUnit_Framework_TestCase +{ + public function testResource() + { + $stream = Psr7\stream_for('foo'); + $handle = StreamWrapper::getResource($stream); + $this->assertSame('foo', fread($handle, 3)); + $this->assertSame(3, ftell($handle)); + $this->assertSame(3, fwrite($handle, 'bar')); + $this->assertSame(0, fseek($handle, 0)); + $this->assertSame('foobar', fread($handle, 6)); + $this->assertSame('', fread($handle, 1)); + $this->assertTrue(feof($handle)); + + // This fails on HHVM for some reason + if (!defined('HHVM_VERSION')) { + $this->assertEquals([ + 'dev' => 0, + 'ino' => 0, + 'mode' => 33206, + 'nlink' => 0, + 'uid' => 0, + 'gid' => 0, + 'rdev' => 0, + 'size' => 6, + 'atime' => 0, + 'mtime' => 0, + 'ctime' => 0, + 'blksize' => 0, + 'blocks' => 0, + 0 => 0, + 1 => 0, + 2 => 33206, + 3 => 0, + 4 => 0, + 5 => 0, + 6 => 0, + 7 => 6, + 8 => 0, + 9 => 0, + 10 => 0, + 11 => 0, + 12 => 0, + ], fstat($handle)); + } + + $this->assertTrue(fclose($handle)); + $this->assertSame('foobar', (string) $stream); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testValidatesStream() + { + $stream = $this->getMockBuilder('Psr\Http\Message\StreamInterface') + ->setMethods(['isReadable', 'isWritable']) + ->getMockForAbstractClass(); + $stream->expects($this->once()) + ->method('isReadable') + ->will($this->returnValue(false)); + $stream->expects($this->once()) + ->method('isWritable') + ->will($this->returnValue(false)); + StreamWrapper::getResource($stream); + } + + /** + * @expectedException \PHPUnit_Framework_Error_Warning + */ + public function testReturnsFalseWhenStreamDoesNotExist() + { + fopen('guzzle://foo', 'r'); + } + + public function testCanOpenReadonlyStream() + { + $stream = $this->getMockBuilder('Psr\Http\Message\StreamInterface') + ->setMethods(['isReadable', 'isWritable']) + ->getMockForAbstractClass(); + $stream->expects($this->once()) + ->method('isReadable') + ->will($this->returnValue(false)); + $stream->expects($this->once()) + ->method('isWritable') + ->will($this->returnValue(true)); + $r = StreamWrapper::getResource($stream); + $this->assertInternalType('resource', $r); + fclose($r); + } +} |
