/var/www/hkosl.com/littleark/webadmin/libraies/guzzlehttp/psr7/tests/StreamWrapperTest.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?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($handle3));
        
$this->assertSame(3ftell($handle));
        
$this->assertSame(3fwrite($handle'bar'));
        
$this->assertSame(0fseek($handle0));
        
$this->assertSame('foobar'fread($handle6));
        
$this->assertSame(''fread($handle1));
        
$this->assertTrue(feof($handle));

        
$stBlksize  defined('PHP_WINDOWS_VERSION_BUILD') ? -0;

        
// 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' => $stBlksize,
                
'blocks'  => $stBlksize,
                
0         => 0,
                
1         => 0,
                
2         => 33206,
                
3         => 0,
                
4         => 0,
                
5         => 0,
                
6         => 0,
                
7         => 6,
                
8         => 0,
                
9         => 0,
                
10        => 0,
                
11        => $stBlksize,
                
12        => $stBlksize,
            ], 
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);
    }
}