|
2 | 2 |
|
3 | 3 | namespace React\Tests\Stream; |
4 | 4 |
|
| 5 | +use Clue\StreamFilter as Filter; |
5 | 6 | use React\Stream\WritableResourceStream; |
6 | 7 |
|
7 | 8 | class WritableResourceStreamTest extends TestCase |
@@ -294,19 +295,24 @@ public function testEndWithoutDataDoesNotCloseIfWritableResourceStreamIsFull() |
294 | 295 | public function testEndWithDataClosesImmediatelyIfWritableResourceStreamFlushes() |
295 | 296 | { |
296 | 297 | $stream = fopen('php://temp', 'r+'); |
| 298 | + $filterBuffer = ''; |
297 | 299 | $loop = $this->createLoopMock(); |
298 | 300 |
|
299 | 301 | $buffer = new WritableResourceStream($stream, $loop); |
300 | 302 | $buffer->on('error', $this->expectCallableNever()); |
301 | 303 | $buffer->on('close', $this->expectCallableOnce()); |
302 | 304 |
|
| 305 | + Filter\append($stream, function ($chunk) use (&$filterBuffer) { |
| 306 | + $filterBuffer .= $chunk; |
| 307 | + return $chunk; |
| 308 | + }); |
| 309 | + |
303 | 310 | $this->assertTrue($buffer->isWritable()); |
304 | 311 | $buffer->end('final words'); |
305 | 312 | $this->assertFalse($buffer->isWritable()); |
306 | 313 |
|
307 | 314 | $buffer->handleWrite(); |
308 | | - rewind($stream); |
309 | | - $this->assertSame('final words', stream_get_contents($stream)); |
| 315 | + $this->assertSame('final words', $filterBuffer); |
310 | 316 | } |
311 | 317 |
|
312 | 318 | /** |
@@ -402,16 +408,22 @@ public function testDoubleCloseWillEmitOnlyOnce() |
402 | 408 | public function testWritingToClosedWritableResourceStreamShouldNotWriteToStream() |
403 | 409 | { |
404 | 410 | $stream = fopen('php://temp', 'r+'); |
| 411 | + $filterBuffer = ''; |
405 | 412 | $loop = $this->createLoopMock(); |
406 | 413 |
|
407 | 414 | $buffer = new WritableResourceStream($stream, $loop); |
| 415 | + |
| 416 | + Filter\append($stream, function ($chunk) use (&$filterBuffer) { |
| 417 | + $filterBuffer .= $chunk; |
| 418 | + return $chunk; |
| 419 | + }); |
| 420 | + |
408 | 421 | $buffer->close(); |
409 | 422 |
|
410 | 423 | $buffer->write('foo'); |
411 | 424 |
|
412 | 425 | $buffer->handleWrite(); |
413 | | - rewind($stream); |
414 | | - $this->assertSame('', stream_get_contents($stream)); |
| 426 | + $this->assertSame('', $filterBuffer); |
415 | 427 | } |
416 | 428 |
|
417 | 429 | /** |
|
0 commit comments