18 $stream =
new Stream(
true);
23 $handle = fopen(
'php://temp',
'r+');
24 fwrite($handle,
'data');
25 $stream =
new Stream($handle);
26 $this->assertEquals($handle, $stream->getStream());
27 $this->assertTrue($stream->isReadable());
28 $this->assertTrue($stream->isWritable());
29 $this->assertTrue($stream->isLocal());
30 $this->assertTrue($stream->isSeekable());
31 $this->assertEquals(
'PHP', $stream->getWrapper());
32 $this->assertEquals(
'TEMP', $stream->getStreamType());
33 $this->assertEquals(4, $stream->getSize());
34 $this->assertEquals(
'php://temp', $stream->getUri());
35 $this->assertEquals(array(), $stream->getWrapperData());
36 $this->assertFalse($stream->isConsumed());
42 $handle1 = fopen(
'php://temp',
'r+');
43 $handle2 = fopen(
'php://temp',
'r+');
44 $stream =
new Stream($handle1);
45 $this->assertSame($handle1, $stream->getStream());
46 $stream->setStream($handle2, 10);
47 $this->assertEquals(10, $stream->getSize());
48 $this->assertSame($handle2, $stream->getStream());
53 $handle = fopen(
'php://temp',
'r');
54 $stream =
new Stream($handle);
56 $this->assertFalse(is_resource($handle));
61 $handle = fopen(
'php://temp',
'w+');
62 fwrite($handle,
'data');
63 $stream =
new Stream($handle);
64 $this->assertEquals(
'data', (
string) $stream);
67 $handle = fopen(__DIR__ .
'/../TestData/FileBody.txt',
'r');
68 $stream =
new Stream($handle);
69 $this->assertEquals(
'', (
string) $stream);
75 $handle = fopen(
'php://temp',
'w+');
76 $stream =
new Stream($handle);
77 $stream->write(
'foobazbar');
79 $this->assertEquals(
'foobazbar', (
string) $stream);
80 $this->assertEquals(3, $stream->ftell());
85 $handle = fopen(
'php://temp',
'w+');
86 fwrite($handle,
'data');
87 $stream =
new Stream($handle);
88 $this->assertFalse($stream->isConsumed());
90 $this->assertTrue($stream->isConsumed());
95 $handle = fopen(
'php://temp',
'w+');
96 fwrite($handle,
'data');
97 $stream =
new Stream($handle);
99 $this->assertEquals(10, $stream->getSize());
105 $handle = fopen(
'php://temp',
'w+');
106 fwrite($handle,
'data');
107 $stream =
new Stream($handle);
108 $this->assertTrue($stream->isSeekable());
109 $this->assertTrue($stream->isReadable());
110 $this->assertTrue($stream->seek(0));
111 $this->assertEquals(
'da', $stream->read(2));
112 $this->assertEquals(
'ta', $stream->read(2));
113 $this->assertTrue($stream->seek(0));
114 $this->assertEquals(
'data', $stream->read(4));
115 $stream->write(
'_appended');
117 $this->assertEquals(
'data_appended', $stream->read(13));
122 $size = filesize(__DIR__ .
'/../../../bootstrap.php');
123 $handle = fopen(__DIR__ .
'/../../../bootstrap.php',
'r');
124 $stream =
new Stream($handle);
125 $this->assertEquals($handle, $stream->getStream());
126 $this->assertEquals($size, $stream->getSize());
127 $this->assertEquals($size, $stream->getSize());
131 $this->
getServer()->enqueue(
"HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n");
132 $handle = fopen(
'http://127.0.0.1:' . $this->
getServer()->getPort(),
'r');
133 $stream =
new Stream($handle);
134 $this->assertEquals(
false, $stream->getSize());
140 $h = fopen(
'php://temp',
'r+');
143 $this->assertEquals(3, $stream->getSize());
144 $stream->write(
'test');
145 $this->assertEquals(7, $stream->getSize());
151 $handle = fopen(__DIR__ .
'/../../../bootstrap.php',
'r');
152 $stream =
new Stream($handle);
153 $this->assertEquals(
'plainfile', $stream->getMetaData(
'wrapper_type'));
154 $this->assertEquals(
null, $stream->getMetaData(
'wrapper_data'));
155 $this->assertInternalType(
'array', $stream->getMetaData());
160 $handle = fopen(__DIR__ .
'/../../../bootstrap.php',
'r');
161 $stream =
new Stream($handle);
162 $this->assertEquals(0, $stream->write(
'foo'));
167 $handle = fopen(__DIR__ .
'/../../../bootstrap.php',
'r');
168 $stream =
new Stream($handle);
170 $this->assertSame(ftell($handle), $stream->ftell());
171 $this->assertEquals(2, $stream->ftell());
176 $stream =
new Stream(fopen(
'php://temp',
'w+'));
177 $stream->write(
'foobazbar');
178 $this->assertTrue($stream->rewind());
179 $this->assertEquals(
'foobazbar', $stream->read(9));
184 $r = fopen(
'php://temp',
'w+');
186 $stream->detachStream();
187 $this->assertNull($stream->getStream());