‪TYPO3CMS  ‪main
StreamTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
24 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
25 
29 class ‪StreamTest extends UnitTestCase
30 {
31  protected ?‪Stream ‪$stream;
32 
33  protected function ‪setUp(): void
34  {
35  parent::setUp();
36  $this->stream = new ‪Stream('php://memory', 'wb+');
37  }
38 
43  protected function ‪getTestDirectory(string $prefix = 'root_'): string
44  {
45  $path = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId($prefix);
46  $this->testFilesToDelete[] = $path;
48  return $path;
49  }
50 
54  public function ‪canInstantiateWithStreamIdentifier(): void
55  {
56  self::assertInstanceOf(Stream::class, $this->stream);
57  }
58 
62  public function ‪canInstantiateWithStreamResource(): void
63  {
64  $resource = fopen('php://memory', 'wb+');
65  ‪$stream = new ‪Stream($resource);
66  self::assertInstanceOf(Stream::class, ‪$stream);
67  }
68 
73  {
74  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
75  touch($fileName);
76  ‪$stream = new ‪Stream($fileName, 'w');
77  self::assertFalse(‪$stream->‪isReadable());
78  }
79 
84  {
85  ‪$stream = new ‪Stream('php://memory', 'r');
86  self::assertFalse(‪$stream->‪isWritable());
87  }
88 
93  {
94  $message = 'foo bar';
95  $this->stream->write($message);
96  self::assertEquals($message, (string)$this->stream);
97  }
98 
102  public function ‪detachReturnsResource(): void
103  {
104  $resource = fopen('php://memory', 'wb+');
105  ‪$stream = new ‪Stream($resource);
106  self::assertSame($resource, ‪$stream->‪detach());
107  }
108 
113  {
114  $this->expectException(\InvalidArgumentException::class);
115  new ‪Stream([' THIS WILL NOT WORK ']);
116  }
117 
122  {
123  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
124  touch($fileName);
125  file_put_contents($fileName, 'FOO BAR');
126  ‪$stream = new ‪Stream($fileName, 'w');
127 
128  self::assertEquals('', ‪$stream->‪__toString());
129  }
130 
134  public function ‪closeClosesResource(): void
135  {
136  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
137  touch($fileName);
138  $resource = fopen($fileName, 'wb+');
139  ‪$stream = new ‪Stream($resource);
140  ‪$stream->‪close();
141 
142  // Testing with a variable here, otherwise the suggested assertion would be assertIsNotResource
143  // which fails.
144  $isResource = is_resource($resource);
145  self::assertFalse($isResource);
146  }
147 
151  public function ‪closeUnsetsResource(): void
152  {
153  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
154  touch($fileName);
155  $resource = fopen($fileName, 'wb+');
156  ‪$stream = new ‪Stream($resource);
157  ‪$stream->‪close();
158 
159  self::assertNull(‪$stream->‪detach());
160  }
161 
165  public function ‪closeDoesNothingAfterDetach(): void
166  {
167  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
168  touch($fileName);
169  $resource = fopen($fileName, 'wb+');
170  ‪$stream = new ‪Stream($resource);
171  $detached = ‪$stream->‪detach();
172 
173  ‪$stream->‪close();
174  self::assertIsResource($detached);
175  self::assertSame($resource, $detached);
176  }
177 
182  {
183  $this->stream->detach();
184  self::assertNull($this->stream->getSize());
185  }
186 
191  {
192  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
193  file_put_contents($fileName, 'FOO BAR');
194  $resource = fopen($fileName, 'wb+');
195  ‪$stream = new ‪Stream($resource);
196 
197  fseek($resource, 2);
198 
199  self::assertEquals(2, ‪$stream->‪tell());
200  }
201 
206  {
207  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
208  file_put_contents($fileName, 'FOO BAR');
209  $resource = fopen($fileName, 'wb+');
210  ‪$stream = new ‪Stream($resource);
211 
212  fseek($resource, 2);
214  $this->expectException(\RuntimeException::class);
215  $this->expectExceptionCode(1436717285);
216  ‪$stream->‪tell();
217  }
218 
223  {
224  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
225  file_put_contents($fileName, 'FOO BAR');
226  $resource = fopen($fileName, 'wb+');
227  ‪$stream = new ‪Stream($resource);
228 
229  fseek($resource, 2);
230  self::assertFalse(‪$stream->‪eof());
231  }
232 
236  public function ‪eofReportsTrueWhenAtEndOfStream(): void
237  {
238  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
239  file_put_contents($fileName, 'FOO BAR');
240  $resource = fopen($fileName, 'wb+');
241  ‪$stream = new ‪Stream($resource);
242 
243  while (!feof($resource)) {
244  fread($resource, 4096);
245  }
246  self::assertTrue(‪$stream->‪eof());
247  }
248 
253  {
254  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
255  file_put_contents($fileName, 'FOO BAR');
256  $resource = fopen($fileName, 'wb+');
257  ‪$stream = new ‪Stream($resource);
258 
259  fseek($resource, 2);
261  self::assertTrue(‪$stream->‪eof());
262  }
263 
268  {
269  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
270  file_put_contents($fileName, 'FOO BAR');
271  $resource = fopen($fileName, 'wb+');
272  ‪$stream = new ‪Stream($resource);
273  self::assertTrue(‪$stream->‪isSeekable());
274  }
275 
280  {
281  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
282  file_put_contents($fileName, 'FOO BAR');
283  $resource = fopen($fileName, 'wb+');
284  ‪$stream = new ‪Stream($resource);
286  self::assertFalse(‪$stream->‪isSeekable());
287  }
288 
292  public function ‪seekAdvancesToGivenOffsetOfStream(): void
293  {
294  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
295  file_put_contents($fileName, 'FOO BAR');
296  $resource = fopen($fileName, 'wb+');
297  ‪$stream = new ‪Stream($resource);
298  ‪$stream->‪seek(2);
299  self::assertEquals(2, ‪$stream->‪tell());
300  }
301 
305  public function ‪rewindResetsToStartOfStream(): void
306  {
307  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
308  file_put_contents($fileName, 'FOO BAR');
309  $resource = fopen($fileName, 'wb+');
310  ‪$stream = new ‪Stream($resource);
311  ‪$stream->‪seek(2);
313  self::assertEquals(0, ‪$stream->‪tell());
314  }
315 
320  {
321  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
322  file_put_contents($fileName, 'FOO BAR');
323  $resource = fopen($fileName, 'wb+');
324  ‪$stream = new ‪Stream($resource);
326  $this->expectException(\RuntimeException::class);
327  $this->expectExceptionCode(1436717287);
328  ‪$stream->‪seek(2);
329  }
330 
335  {
336  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
337  file_put_contents($fileName, 'FOO BAR');
338  $resource = fopen($fileName, 'wb+');
339  ‪$stream = new ‪Stream($resource);
341  self::assertFalse(‪$stream->‪isWritable());
342  }
343 
348  {
349  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
350  file_put_contents($fileName, 'FOO BAR');
351  $resource = fopen($fileName, 'wb+');
352  ‪$stream = new ‪Stream($resource);
354  $this->expectException(\RuntimeException::class);
355  $this->expectExceptionCode(1436717290);
356  ‪$stream->‪write('bar');
357  }
358 
363  {
364  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
365  file_put_contents($fileName, 'FOO BAR');
366  $resource = fopen($fileName, 'wb+');
367  ‪$stream = new ‪Stream($resource);
369  self::assertFalse(‪$stream->‪isReadable());
370  }
371 
376  {
377  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
378  file_put_contents($fileName, 'FOO BAR');
379  $resource = fopen($fileName, 'r');
380  ‪$stream = new ‪Stream($resource);
382  $this->expectException(\RuntimeException::class);
383  $this->expectExceptionCode(1436717292);
384  ‪$stream->‪read(4096);
385  }
386 
391  {
392  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
393  file_put_contents($fileName, 'FOO BAR');
394  $resource = fopen($fileName, 'r');
395  ‪$stream = new ‪Stream($resource);
396  while (!feof($resource)) {
397  fread($resource, 4096);
398  }
399  self::assertEquals('', ‪$stream->‪read(4096));
400  }
401 
406  {
407  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
408  file_put_contents($fileName, 'FOO BAR');
409  $resource = fopen($fileName, 'w');
410  ‪$stream = new ‪Stream($resource);
411  self::assertEquals('', ‪$stream->‪getContents());
412  }
413 
414  public function ‪invalidResourcesDataProvider(): array
415  {
416  $fileName = tempnam(sys_get_temp_dir(), 'PHLY');
417  $this->testFilesToDelete[] = $fileName;
418 
419  return [
420  'null' => [null],
421  'false' => [false],
422  'true' => [true],
423  'int' => [1],
424  'float' => [1.1],
425  'array' => [[fopen($fileName, 'r+')]],
426  'object' => [(object)['resource' => fopen($fileName, 'r+')]],
427  ];
428  }
429 
435  {
436  $this->expectException(\InvalidArgumentException::class);
437  $this->expectExceptionCode(1436717297);
438  $this->stream->attach($resource);
439  }
440 
445  {
446  $this->expectException(\InvalidArgumentException::class);
447  $this->expectExceptionCode(1436717296);
448  $this->stream->attach('foo-bar-baz');
449  }
450 
455  {
456  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
457  touch($fileName);
458  $resource = fopen($fileName, 'r+');
459  $this->stream->attach($resource);
460 
461  $r = new \ReflectionProperty($this->stream, 'resource');
462  $r->setAccessible(true);
463  $test = $r->getValue($this->stream);
464  self::assertSame($resource, $test);
465  }
466 
471  {
472  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
473  touch($fileName);
474  $this->stream->attach($fileName);
475 
476  $resource = fopen($fileName, 'r+');
477  fwrite($resource, 'FooBar');
478 
479  $this->stream->rewind();
480  $test = (string)$this->stream;
481  self::assertEquals('FooBar', $test);
482  }
483 
488  {
489  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
490  touch($fileName);
491  $resource = fopen($fileName, 'r+');
492  $this->stream->attach($resource);
493 
494  fwrite($resource, 'FooBar');
495 
496  // rewind, because current pointer is at end of stream!
497  $this->stream->rewind();
498  $test = $this->stream->getContents();
499  self::assertEquals('FooBar', $test);
500  }
501 
506  {
507  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
508  touch($fileName);
509  $resource = fopen($fileName, 'r+');
510  $this->stream->attach($resource);
511 
512  fwrite($resource, 'FooBar');
513 
514  // seek to position 3
515  $this->stream->seek(3);
516  $test = $this->stream->getContents();
517  self::assertEquals('Bar', $test);
518  }
519 
524  {
525  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
526  touch($fileName);
527  $resource = fopen($fileName, 'r+');
528  $this->stream->attach($resource);
529 
530  $expected = stream_get_meta_data($resource);
531  $test = $this->stream->getMetadata();
532 
533  self::assertEquals($expected, $test);
534  }
535 
540  {
541  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
542  touch($fileName);
543  $resource = fopen($fileName, 'r+');
544  $this->stream->attach($resource);
545 
546  $metadata = stream_get_meta_data($resource);
547  $expected = $metadata['uri'];
548 
549  $test = $this->stream->getMetadata('uri');
550 
551  self::assertEquals($expected, $test);
552  }
553 
558  {
559  $fileName = $this->‪getTestDirectory() . '/' . ‪StringUtility::getUniqueId('test_');
560  touch($fileName);
561  $resource = fopen($fileName, 'r+');
562  $this->stream->attach($resource);
563 
564  self::assertNull($this->stream->getMetadata('TOTALLY_MADE_UP'));
565  }
566 
570  public function ‪getSizeReturnsStreamSize(): void
571  {
572  $resource = fopen(__FILE__, 'r');
573  $expected = fstat($resource);
574  ‪$stream = new ‪Stream($resource);
575  self::assertEquals($expected['size'], ‪$stream->‪getSize());
576  }
577 }
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\closeUnsetsResource
‪closeUnsetsResource()
Definition: StreamTest.php:151
‪TYPO3\CMS\Core\Http\Stream\rewind
‪rewind()
Definition: Stream.php:211
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\attachWithStringRepresentingResourceCreatesAndAttachesResource
‪attachWithStringRepresentingResourceCreatesAndAttachesResource()
Definition: StreamTest.php:470
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\readRaisesExceptionWhenStreamIsDetached
‪readRaisesExceptionWhenStreamIsDetached()
Definition: StreamTest.php:375
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\tellReportsCurrentPositionInResource
‪tellReportsCurrentPositionInResource()
Definition: StreamTest.php:190
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getContentsReturnsEmptyStringIfStreamIsNotReadable
‪getContentsReturnsEmptyStringIfStreamIsNotReadable()
Definition: StreamTest.php:405
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\attachWithResourceAttachesResource
‪attachWithResourceAttachesResource()
Definition: StreamTest.php:454
‪TYPO3\CMS\Core\Tests\Unit\Http
Definition: ApplicationTypeTest.php:18
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isSeekableReturnsFalseForDetachedStreams
‪isSeekableReturnsFalseForDetachedStreams()
Definition: StreamTest.php:279
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\writeRaisesExceptionWhenStreamIsDetached
‪writeRaisesExceptionWhenStreamIsDetached()
Definition: StreamTest.php:347
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\attachWithNonStringNonResourceRaisesExceptionByType
‪attachWithNonStringNonResourceRaisesExceptionByType($resource)
Definition: StreamTest.php:434
‪TYPO3\CMS\Core\Http\Stream\seek
‪seek($offset, $whence=SEEK_SET)
Definition: Stream.php:186
‪TYPO3\CMS\Core\Http\Stream\tell
‪int tell()
Definition: Stream.php:134
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\closeClosesResource
‪closeClosesResource()
Definition: StreamTest.php:134
‪TYPO3\CMS\Core\Http\Stream\read
‪string read($length)
Definition: Stream.php:273
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isWritableReturnsFalseIfStreamIsNotWritable
‪isWritableReturnsFalseIfStreamIsNotWritable()
Definition: StreamTest.php:83
‪TYPO3\CMS\Core\Http\Stream\eof
‪bool eof()
Definition: Stream.php:151
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getMetadataReturnsAllMetadataWhenNoKeyPresent
‪getMetadataReturnsAllMetadataWhenNoKeyPresent()
Definition: StreamTest.php:523
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getContentsShouldReturnStreamContentsFromCurrentPointer
‪getContentsShouldReturnStreamContentsFromCurrentPointer()
Definition: StreamTest.php:505
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\toStringSerializationReturnsEmptyStringWhenStreamIsNotReadable
‪toStringSerializationReturnsEmptyStringWhenStreamIsNotReadable()
Definition: StreamTest.php:121
‪TYPO3\CMS\Core\Core\Environment\getVarPath
‪static getVarPath()
Definition: Environment.php:197
‪TYPO3\CMS\Core\Http\Stream\isSeekable
‪bool isSeekable()
Definition: Stream.php:164
‪TYPO3\CMS\Core\Http\Stream\write
‪int write($string)
Definition: Stream.php:237
‪TYPO3\CMS\Core\Http\Stream\isReadable
‪bool isReadable()
Definition: Stream.php:254
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\eofReportsFalseWhenNotAtEndOfStream
‪eofReportsFalseWhenNotAtEndOfStream()
Definition: StreamTest.php:222
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\constructorRaisesExceptionWhenPassingInvalidStreamResource
‪constructorRaisesExceptionWhenPassingInvalidStreamResource()
Definition: StreamTest.php:112
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\canInstantiateWithStreamResource
‪canInstantiateWithStreamResource()
Definition: StreamTest.php:62
‪TYPO3\CMS\Core\Utility\GeneralUtility\mkdir_deep
‪static mkdir_deep($directory)
Definition: GeneralUtility.php:1753
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getSizeReturnsStreamSize
‪getSizeReturnsStreamSize()
Definition: StreamTest.php:570
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getTestDirectory
‪getTestDirectory(string $prefix='root_')
Definition: StreamTest.php:43
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getMetadataReturnsNullIfNoDataExistsForKey
‪getMetadataReturnsNullIfNoDataExistsForKey()
Definition: StreamTest.php:557
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isReadableReturnsFalseWhenStreamIsDetached
‪isReadableReturnsFalseWhenStreamIsDetached()
Definition: StreamTest.php:362
‪TYPO3\CMS\Core\Http\Stream
Definition: Stream.php:29
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\$stream
‪Stream $stream
Definition: StreamTest.php:31
‪TYPO3\CMS\Core\Http\Stream\__toString
‪string __toString()
Definition: Stream.php:72
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\rewindResetsToStartOfStream
‪rewindResetsToStartOfStream()
Definition: StreamTest.php:305
‪TYPO3\CMS\Core\Http\Stream\getContents
‪string getContents()
Definition: Stream.php:295
‪TYPO3\CMS\Core\Http\Stream\getSize
‪int null getSize()
Definition: Stream.php:119
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\eofReportsTrueWhenAtEndOfStream
‪eofReportsTrueWhenAtEndOfStream()
Definition: StreamTest.php:236
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\seekAdvancesToGivenOffsetOfStream
‪seekAdvancesToGivenOffsetOfStream()
Definition: StreamTest.php:292
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\toStringRetrievesFullContentsOfStream
‪toStringRetrievesFullContentsOfStream()
Definition: StreamTest.php:92
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\setUp
‪setUp()
Definition: StreamTest.php:33
‪TYPO3\CMS\Core\Http\Stream\close
‪close()
Definition: Stream.php:88
‪TYPO3\CMS\Core\Http\Stream\detach
‪resource null detach()
Definition: Stream.php:107
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isWritableReturnsFalseWhenStreamIsDetached
‪isWritableReturnsFalseWhenStreamIsDetached()
Definition: StreamTest.php:334
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\attachWithNonStringNonResourceRaisesExceptionByString
‪attachWithNonStringNonResourceRaisesExceptionByString()
Definition: StreamTest.php:444
‪TYPO3\CMS\Core\Core\Environment
Definition: Environment.php:41
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getContentsShouldGetFullStreamContents
‪getContentsShouldGetFullStreamContents()
Definition: StreamTest.php:487
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isReadableReturnsFalseIfStreamIsNotReadable
‪isReadableReturnsFalseIfStreamIsNotReadable()
Definition: StreamTest.php:72
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\tellRaisesExceptionIfResourceIsDetached
‪tellRaisesExceptionIfResourceIsDetached()
Definition: StreamTest.php:205
‪TYPO3\CMS\Core\Http\Stream\isWritable
‪bool isWritable()
Definition: Stream.php:221
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\eofReportsTrueWhenStreamIsDetached
‪eofReportsTrueWhenStreamIsDetached()
Definition: StreamTest.php:252
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getMetadataReturnsDataForSpecifiedKey
‪getMetadataReturnsDataForSpecifiedKey()
Definition: StreamTest.php:539
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:51
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:24
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\readReturnsEmptyStringWhenAtEndOfFile
‪readReturnsEmptyStringWhenAtEndOfFile()
Definition: StreamTest.php:390
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\invalidResourcesDataProvider
‪invalidResourcesDataProvider()
Definition: StreamTest.php:414
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\closeDoesNothingAfterDetach
‪closeDoesNothingAfterDetach()
Definition: StreamTest.php:165
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest
Definition: StreamTest.php:30
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\seekRaisesExceptionWhenStreamIsDetached
‪seekRaisesExceptionWhenStreamIsDetached()
Definition: StreamTest.php:319
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isSeekableReturnsTrueForReadableStreams
‪isSeekableReturnsTrueForReadableStreams()
Definition: StreamTest.php:267
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getSizeReportsNullWhenNoResourcePresent
‪getSizeReportsNullWhenNoResourcePresent()
Definition: StreamTest.php:181
‪TYPO3\CMS\Core\Utility\StringUtility\getUniqueId
‪static getUniqueId(string $prefix='')
Definition: StringUtility.php:29
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\canInstantiateWithStreamIdentifier
‪canInstantiateWithStreamIdentifier()
Definition: StreamTest.php:54
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\detachReturnsResource
‪detachReturnsResource()
Definition: StreamTest.php:102