‪TYPO3CMS  11.5
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 
23 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
24 
30 class ‪StreamTest extends UnitTestCase
31 {
32  protected ?‪Stream ‪$stream;
33 
34  protected function ‪setUp(): void
35  {
36  parent::setUp();
37  $this->stream = new ‪Stream('php://memory', 'wb+');
38  }
39 
43  public function ‪canInstantiateWithStreamIdentifier(): void
44  {
45  self::assertInstanceOf(Stream::class, $this->stream);
46  }
47 
51  public function ‪canInstantiateWithStreamResource(): void
52  {
53  $resource = fopen('php://memory', 'wb+');
54  ‪$stream = new ‪Stream($resource);
55  self::assertInstanceOf(Stream::class, ‪$stream);
56  }
57 
62  {
63  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
64  touch($fileName);
65  $this->testFilesToDelete[] = $fileName;
66  ‪$stream = new ‪Stream($fileName, 'w');
67  self::assertFalse(‪$stream->‪isReadable());
68  }
69 
74  {
75  ‪$stream = new ‪Stream('php://memory', 'r');
76  self::assertFalse(‪$stream->‪isWritable());
77  }
78 
83  {
84  $message = 'foo bar';
85  $this->stream->write($message);
86  self::assertEquals($message, (string)$this->stream);
87  }
88 
92  public function ‪detachReturnsResource(): void
93  {
94  $resource = fopen('php://memory', 'wb+');
95  ‪$stream = new ‪Stream($resource);
96  self::assertSame($resource, ‪$stream->‪detach());
97  }
98 
103  {
104  $this->expectException(\InvalidArgumentException::class);
105  new ‪Stream([' THIS WILL NOT WORK ']);
106  }
107 
112  {
113  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
114  touch($fileName);
115  $this->testFilesToDelete[] = $fileName;
116  file_put_contents($fileName, 'FOO BAR');
117  ‪$stream = new ‪Stream($fileName, 'w');
118 
119  self::assertEquals('', ‪$stream->‪__toString());
120  }
121 
125  public function ‪closeClosesResource(): void
126  {
127  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
128  touch($fileName);
129  $this->testFilesToDelete[] = $fileName;
130  $resource = fopen($fileName, 'wb+');
131  ‪$stream = new ‪Stream($resource);
132  ‪$stream->‪close();
133 
134  // Testing with a variable here, otherwise the suggested assertion would be assertIsNotResource
135  // which fails.
136  $isResource = is_resource($resource);
137  self::assertFalse($isResource);
138  }
139 
143  public function ‪closeUnsetsResource(): void
144  {
145  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
146  touch($fileName);
147  $this->testFilesToDelete[] = $fileName;
148  $resource = fopen($fileName, 'wb+');
149  ‪$stream = new ‪Stream($resource);
150  ‪$stream->‪close();
151 
152  self::assertNull(‪$stream->‪detach());
153  }
154 
158  public function ‪closeDoesNothingAfterDetach(): void
159  {
160  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
161  touch($fileName);
162  $this->testFilesToDelete[] = $fileName;
163  $resource = fopen($fileName, 'wb+');
164  ‪$stream = new ‪Stream($resource);
165  $detached = ‪$stream->‪detach();
166 
167  ‪$stream->‪close();
168  self::assertIsResource($detached);
169  self::assertSame($resource, $detached);
170  }
171 
176  {
177  $this->stream->detach();
178  self::assertNull($this->stream->getSize());
179  }
180 
185  {
186  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
187  $this->testFilesToDelete[] = $fileName;
188  file_put_contents($fileName, 'FOO BAR');
189  $resource = fopen($fileName, 'wb+');
190  ‪$stream = new ‪Stream($resource);
191 
192  fseek($resource, 2);
193 
194  self::assertEquals(2, ‪$stream->‪tell());
195  }
196 
201  {
202  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
203  $this->testFilesToDelete[] = $fileName;
204  file_put_contents($fileName, 'FOO BAR');
205  $resource = fopen($fileName, 'wb+');
206  ‪$stream = new ‪Stream($resource);
207 
208  fseek($resource, 2);
210  $this->expectException(\RuntimeException::class);
211  $this->expectExceptionCode(1436717285);
212  ‪$stream->‪tell();
213  }
214 
219  {
220  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
221  $this->testFilesToDelete[] = $fileName;
222  file_put_contents($fileName, 'FOO BAR');
223  $resource = fopen($fileName, 'wb+');
224  ‪$stream = new ‪Stream($resource);
225 
226  fseek($resource, 2);
227  self::assertFalse(‪$stream->‪eof());
228  }
229 
233  public function ‪eofReportsTrueWhenAtEndOfStream(): void
234  {
235  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
236  $this->testFilesToDelete[] = $fileName;
237  file_put_contents($fileName, 'FOO BAR');
238  $resource = fopen($fileName, 'wb+');
239  ‪$stream = new ‪Stream($resource);
240 
241  while (!feof($resource)) {
242  fread($resource, 4096);
243  }
244  self::assertTrue(‪$stream->‪eof());
245  }
246 
251  {
252  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
253  $this->testFilesToDelete[] = $fileName;
254  file_put_contents($fileName, 'FOO BAR');
255  $resource = fopen($fileName, 'wb+');
256  ‪$stream = new ‪Stream($resource);
257 
258  fseek($resource, 2);
260  self::assertTrue(‪$stream->‪eof());
261  }
262 
267  {
268  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
269  $this->testFilesToDelete[] = $fileName;
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 = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
282  $this->testFilesToDelete[] = $fileName;
283  file_put_contents($fileName, 'FOO BAR');
284  $resource = fopen($fileName, 'wb+');
285  ‪$stream = new ‪Stream($resource);
287  self::assertFalse(‪$stream->‪isSeekable());
288  }
289 
293  public function ‪seekAdvancesToGivenOffsetOfStream(): void
294  {
295  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
296  $this->testFilesToDelete[] = $fileName;
297  file_put_contents($fileName, 'FOO BAR');
298  $resource = fopen($fileName, 'wb+');
299  ‪$stream = new ‪Stream($resource);
300  ‪$stream->‪seek(2);
301  self::assertEquals(2, ‪$stream->‪tell());
302  }
303 
307  public function ‪rewindResetsToStartOfStream(): void
308  {
309  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
310  $this->testFilesToDelete[] = $fileName;
311  file_put_contents($fileName, 'FOO BAR');
312  $resource = fopen($fileName, 'wb+');
313  ‪$stream = new ‪Stream($resource);
314  ‪$stream->‪seek(2);
316  self::assertEquals(0, ‪$stream->‪tell());
317  }
318 
323  {
324  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
325  $this->testFilesToDelete[] = $fileName;
326  file_put_contents($fileName, 'FOO BAR');
327  $resource = fopen($fileName, 'wb+');
328  ‪$stream = new ‪Stream($resource);
330  $this->expectException(\RuntimeException::class);
331  $this->expectExceptionCode(1436717287);
332  ‪$stream->‪seek(2);
333  }
334 
339  {
340  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
341  $this->testFilesToDelete[] = $fileName;
342  file_put_contents($fileName, 'FOO BAR');
343  $resource = fopen($fileName, 'wb+');
344  ‪$stream = new ‪Stream($resource);
346  self::assertFalse(‪$stream->‪isWritable());
347  }
348 
353  {
354  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
355  $this->testFilesToDelete[] = $fileName;
356  file_put_contents($fileName, 'FOO BAR');
357  $resource = fopen($fileName, 'wb+');
358  ‪$stream = new ‪Stream($resource);
360  $this->expectException(\RuntimeException::class);
361  $this->expectExceptionCode(1436717290);
362  ‪$stream->‪write('bar');
363  }
364 
369  {
370  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
371  $this->testFilesToDelete[] = $fileName;
372  file_put_contents($fileName, 'FOO BAR');
373  $resource = fopen($fileName, 'wb+');
374  ‪$stream = new ‪Stream($resource);
376  self::assertFalse(‪$stream->‪isReadable());
377  }
378 
383  {
384  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
385  $this->testFilesToDelete[] = $fileName;
386  file_put_contents($fileName, 'FOO BAR');
387  $resource = fopen($fileName, 'r');
388  ‪$stream = new ‪Stream($resource);
390  $this->expectException(\RuntimeException::class);
391  $this->expectExceptionCode(1436717292);
392  ‪$stream->‪read(4096);
393  }
394 
399  {
400  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
401  $this->testFilesToDelete[] = $fileName;
402  file_put_contents($fileName, 'FOO BAR');
403  $resource = fopen($fileName, 'r');
404  ‪$stream = new ‪Stream($resource);
405  while (!feof($resource)) {
406  fread($resource, 4096);
407  }
408  self::assertEquals('', ‪$stream->‪read(4096));
409  }
410 
415  {
416  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
417  $this->testFilesToDelete[] = $fileName;
418  file_put_contents($fileName, 'FOO BAR');
419  $resource = fopen($fileName, 'w');
420  ‪$stream = new ‪Stream($resource);
421  self::assertEquals('', ‪$stream->‪getContents());
422  }
423 
427  public function ‪invalidResourcesDataProvider(): array
428  {
429  $fileName = tempnam(sys_get_temp_dir(), 'PHLY');
430  $this->testFilesToDelete[] = $fileName;
431 
432  return [
433  'null' => [null],
434  'false' => [false],
435  'true' => [true],
436  'int' => [1],
437  'float' => [1.1],
438  'array' => [[fopen($fileName, 'r+')]],
439  'object' => [(object)['resource' => fopen($fileName, 'r+')]],
440  ];
441  }
442 
448  {
449  $this->expectException(\InvalidArgumentException::class);
450  $this->expectExceptionCode(1436717297);
451  $this->stream->attach($resource);
452  }
453 
458  {
459  $this->expectException(\InvalidArgumentException::class);
460  $this->expectExceptionCode(1436717296);
461  $this->stream->attach('foo-bar-baz');
462  }
463 
468  {
469  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
470  touch($fileName);
471  $this->testFilesToDelete[] = $fileName;
472  $resource = fopen($fileName, 'r+');
473  $this->stream->attach($resource);
474 
475  $r = new \ReflectionProperty($this->stream, 'resource');
476  $r->setAccessible(true);
477  $test = $r->getValue($this->stream);
478  self::assertSame($resource, $test);
479  }
480 
485  {
486  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
487  touch($fileName);
488  $this->testFilesToDelete[] = $fileName;
489  $this->stream->attach($fileName);
490 
491  $resource = fopen($fileName, 'r+');
492  fwrite($resource, 'FooBar');
493 
494  $this->stream->rewind();
495  $test = (string)$this->stream;
496  self::assertEquals('FooBar', $test);
497  }
498 
503  {
504  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
505  touch($fileName);
506  $this->testFilesToDelete[] = $fileName;
507  $resource = fopen($fileName, 'r+');
508  $this->stream->attach($resource);
509 
510  fwrite($resource, 'FooBar');
511 
512  // rewind, because current pointer is at end of stream!
513  $this->stream->rewind();
514  $test = $this->stream->getContents();
515  self::assertEquals('FooBar', $test);
516  }
517 
522  {
523  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
524  touch($fileName);
525  $this->testFilesToDelete[] = $fileName;
526  $resource = fopen($fileName, 'r+');
527  $this->stream->attach($resource);
528 
529  fwrite($resource, 'FooBar');
530 
531  // seek to position 3
532  $this->stream->seek(3);
533  $test = $this->stream->getContents();
534  self::assertEquals('Bar', $test);
535  }
536 
541  {
542  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
543  touch($fileName);
544  $this->testFilesToDelete[] = $fileName;
545  $resource = fopen($fileName, 'r+');
546  $this->stream->attach($resource);
547 
548  $expected = stream_get_meta_data($resource);
549  $test = $this->stream->getMetadata();
550 
551  self::assertEquals($expected, $test);
552  }
553 
558  {
559  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
560  touch($fileName);
561  $this->testFilesToDelete[] = $fileName;
562  $resource = fopen($fileName, 'r+');
563  $this->stream->attach($resource);
564 
565  $metadata = stream_get_meta_data($resource);
566  $expected = $metadata['uri'];
567 
568  $test = $this->stream->getMetadata('uri');
569 
570  self::assertEquals($expected, $test);
571  }
572 
577  {
578  $fileName = ‪Environment::getVarPath() . '/tests/' . ‪StringUtility::getUniqueId('test_');
579  touch($fileName);
580  $this->testFilesToDelete[] = $fileName;
581  $resource = fopen($fileName, 'r+');
582  $this->stream->attach($resource);
583 
584  self::assertNull($this->stream->getMetadata('TOTALLY_MADE_UP'));
585  }
586 
590  public function ‪getSizeReturnsStreamSize(): void
591  {
592  $resource = fopen(__FILE__, 'r');
593  $expected = fstat($resource);
594  ‪$stream = new ‪Stream($resource);
595  self::assertEquals($expected['size'], ‪$stream->‪getSize());
596  }
597 }
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\closeUnsetsResource
‪closeUnsetsResource()
Definition: StreamTest.php:143
‪TYPO3\CMS\Core\Http\Stream\rewind
‪rewind()
Definition: Stream.php:211
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\attachWithStringRepresentingResourceCreatesAndAttachesResource
‪attachWithStringRepresentingResourceCreatesAndAttachesResource()
Definition: StreamTest.php:484
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\invalidResourcesDataProvider
‪array invalidResourcesDataProvider()
Definition: StreamTest.php:427
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\readRaisesExceptionWhenStreamIsDetached
‪readRaisesExceptionWhenStreamIsDetached()
Definition: StreamTest.php:382
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\tellReportsCurrentPositionInResource
‪tellReportsCurrentPositionInResource()
Definition: StreamTest.php:184
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getContentsReturnsEmptyStringIfStreamIsNotReadable
‪getContentsReturnsEmptyStringIfStreamIsNotReadable()
Definition: StreamTest.php:414
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\attachWithResourceAttachesResource
‪attachWithResourceAttachesResource()
Definition: StreamTest.php:467
‪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:352
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\attachWithNonStringNonResourceRaisesExceptionByType
‪attachWithNonStringNonResourceRaisesExceptionByType($resource)
Definition: StreamTest.php:447
‪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:125
‪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:73
‪TYPO3\CMS\Core\Http\Stream\eof
‪bool eof()
Definition: Stream.php:151
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getMetadataReturnsAllMetadataWhenNoKeyPresent
‪getMetadataReturnsAllMetadataWhenNoKeyPresent()
Definition: StreamTest.php:540
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getContentsShouldReturnStreamContentsFromCurrentPointer
‪getContentsShouldReturnStreamContentsFromCurrentPointer()
Definition: StreamTest.php:521
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\toStringSerializationReturnsEmptyStringWhenStreamIsNotReadable
‪toStringSerializationReturnsEmptyStringWhenStreamIsNotReadable()
Definition: StreamTest.php:111
‪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:218
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\constructorRaisesExceptionWhenPassingInvalidStreamResource
‪constructorRaisesExceptionWhenPassingInvalidStreamResource()
Definition: StreamTest.php:102
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\canInstantiateWithStreamResource
‪canInstantiateWithStreamResource()
Definition: StreamTest.php:51
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getSizeReturnsStreamSize
‪getSizeReturnsStreamSize()
Definition: StreamTest.php:590
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getMetadataReturnsNullIfNoDataExistsForKey
‪getMetadataReturnsNullIfNoDataExistsForKey()
Definition: StreamTest.php:576
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isReadableReturnsFalseWhenStreamIsDetached
‪isReadableReturnsFalseWhenStreamIsDetached()
Definition: StreamTest.php:368
‪TYPO3\CMS\Core\Http\Stream
Definition: Stream.php:29
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\$stream
‪Stream $stream
Definition: StreamTest.php:32
‪TYPO3\CMS\Core\Http\Stream\__toString
‪string __toString()
Definition: Stream.php:72
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\rewindResetsToStartOfStream
‪rewindResetsToStartOfStream()
Definition: StreamTest.php:307
‪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:233
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\seekAdvancesToGivenOffsetOfStream
‪seekAdvancesToGivenOffsetOfStream()
Definition: StreamTest.php:293
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\toStringRetrievesFullContentsOfStream
‪toStringRetrievesFullContentsOfStream()
Definition: StreamTest.php:82
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\setUp
‪setUp()
Definition: StreamTest.php:34
‪TYPO3\CMS\Core\Http\Stream\close
‪close()
Definition: Stream.php:88
‪TYPO3\CMS\Core\Utility\StringUtility\getUniqueId
‪static string getUniqueId($prefix='')
Definition: StringUtility.php:128
‪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:338
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\attachWithNonStringNonResourceRaisesExceptionByString
‪attachWithNonStringNonResourceRaisesExceptionByString()
Definition: StreamTest.php:457
‪TYPO3\CMS\Core\Core\Environment
Definition: Environment.php:43
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getContentsShouldGetFullStreamContents
‪getContentsShouldGetFullStreamContents()
Definition: StreamTest.php:502
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isReadableReturnsFalseIfStreamIsNotReadable
‪isReadableReturnsFalseIfStreamIsNotReadable()
Definition: StreamTest.php:61
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\tellRaisesExceptionIfResourceIsDetached
‪tellRaisesExceptionIfResourceIsDetached()
Definition: StreamTest.php:200
‪TYPO3\CMS\Core\Http\Stream\isWritable
‪bool isWritable()
Definition: Stream.php:221
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\eofReportsTrueWhenStreamIsDetached
‪eofReportsTrueWhenStreamIsDetached()
Definition: StreamTest.php:250
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getMetadataReturnsDataForSpecifiedKey
‪getMetadataReturnsDataForSpecifiedKey()
Definition: StreamTest.php:557
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:22
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\readReturnsEmptyStringWhenAtEndOfFile
‪readReturnsEmptyStringWhenAtEndOfFile()
Definition: StreamTest.php:398
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\closeDoesNothingAfterDetach
‪closeDoesNothingAfterDetach()
Definition: StreamTest.php:158
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest
Definition: StreamTest.php:31
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\seekRaisesExceptionWhenStreamIsDetached
‪seekRaisesExceptionWhenStreamIsDetached()
Definition: StreamTest.php:322
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\isSeekableReturnsTrueForReadableStreams
‪isSeekableReturnsTrueForReadableStreams()
Definition: StreamTest.php:266
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\getSizeReportsNullWhenNoResourcePresent
‪getSizeReportsNullWhenNoResourcePresent()
Definition: StreamTest.php:175
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\canInstantiateWithStreamIdentifier
‪canInstantiateWithStreamIdentifier()
Definition: StreamTest.php:43
‪TYPO3\CMS\Core\Core\Environment\getVarPath
‪static string getVarPath()
Definition: Environment.php:218
‪TYPO3\CMS\Core\Tests\Unit\Http\StreamTest\detachReturnsResource
‪detachReturnsResource()
Definition: StreamTest.php:92