‪TYPO3CMS  ‪main
DirectoryNodeTest.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 
31 
33 {
38  {
39  $this->expectException(InvalidArgumentException::class);
40  $this->expectExceptionCode(1366222203);
41  new ‪DirectoryNode([], null);
42  }
43 
48  {
49  $this->expectException(InvalidArgumentException::class);
50  $this->expectExceptionCode(1366226639);
51  $parent = $this->createMock(NodeInterface::class);
52  $structure = [
53  'name' => 'foo/bar',
54  ];
55  new ‪DirectoryNode($structure, $parent);
56  }
57 
62  {
63  $parent = $this->createMock(NodeInterface::class);
64  $node = $this->getMockBuilder(DirectoryNode::class)
65  ->onlyMethods(['createChildren'])
66  ->disableOriginalConstructor()
67  ->getMock();
68  $childArray = [
69  'foo',
70  ];
71  $structure = [
72  'name' => 'foo',
73  'children' => $childArray,
74  ];
75  $node->expects(self::once())->method('createChildren')->with($childArray);
76  $node->__construct($structure, $parent);
77  }
78 
82  public function ‪constructorSetsParent(): void
83  {
84  $parent = $this->createMock(NodeInterface::class);
85  $node = $this->getAccessibleMock(DirectoryNode::class, null, [], '', false);
86  $structure = [
87  'name' => 'foo',
88  ];
89  $node->__construct($structure, $parent);
90  self::assertSame($parent, $node->_call('getParent'));
91  }
92 
96  public function ‪constructorSetsTargetPermission(): void
97  {
98  $parent = $this->createMock(NodeInterface::class);
99  $node = $this->getAccessibleMock(DirectoryNode::class, null, [], '', false);
100  $targetPermission = '2550';
101  $structure = [
102  'name' => 'foo',
103  'targetPermission' => $targetPermission,
104  ];
105  $node->__construct($structure, $parent);
106  self::assertSame($targetPermission, $node->_call('getTargetPermission'));
107  }
108 
112  public function ‪constructorSetsName(): void
113  {
114  $parent = $this->createMock(RootNodeInterface::class);
115  $name = ‪StringUtility::getUniqueId('test_');
116  $node = new ‪DirectoryNode(['name' => $name], $parent);
117  self::assertSame($name, $node->getName());
118  }
119 
123  public function ‪getStatusReturnsArray(): void
124  {
125  $node = $this->getAccessibleMock(
126  DirectoryNode::class,
127  ['getAbsolutePath', 'getRelativePathBelowSiteRoot', 'exists', 'isDirectory', 'isWritable', 'isPermissionCorrect'],
128  [],
129  '',
130  false
131  );
132  $path = $this->‪getTestDirectory('dir_');
133  $node->method('getAbsolutePath')->willReturn($path);
134  $node->method('getRelativePathBelowSiteRoot')->willReturn($path);
135  $node->method('exists')->willReturn(true);
136  $node->method('isDirectory')->willReturn(true);
137  $node->method('isPermissionCorrect')->willReturn(true);
138  $node->method('isWritable')->willReturn(true);
139  self::assertIsArray($node->getStatus());
140  }
141 
146  {
147  $node = $this->getAccessibleMock(
148  DirectoryNode::class,
149  ['getAbsolutePath', 'getRelativePathBelowSiteRoot', 'exists', 'isDirectory', 'isWritable', 'isPermissionCorrect'],
150  [],
151  '',
152  false
153  );
154  $path = $this->‪getTestDirectory('dir_');
155  $node->method('getAbsolutePath')->willReturn($path);
156  $node->method('getRelativePathBelowSiteRoot')->willReturn($path);
157  $node->method('exists')->willReturn(false);
158  $node->method('isDirectory')->willReturn(false);
159  $node->method('isPermissionCorrect')->willReturn(false);
160  $node->method('isWritable')->willReturn(false);
161  $statusArray = $node->getStatus();
162  self::assertSame(ContextualFeedbackSeverity::WARNING, $statusArray[0]->getSeverity());
163  }
164 
169  {
170  $node = $this->getAccessibleMock(
171  DirectoryNode::class,
172  ['getAbsolutePath', 'getRelativePathBelowSiteRoot', 'exists', 'isDirectory', 'isWritable', 'isPermissionCorrect'],
173  [],
174  '',
175  false
176  );
177  $path = $this->‪getTestFilePath('dir_');
178  touch($path);
179  $node->method('getAbsolutePath')->willReturn($path);
180  $node->method('getRelativePathBelowSiteRoot')->willReturn($path);
181  $node->method('exists')->willReturn(true);
182  $node->method('isDirectory')->willReturn(false);
183  $node->method('isPermissionCorrect')->willReturn(true);
184  $node->method('isWritable')->willReturn(true);
185  $statusArray = $node->getStatus();
186  self::assertSame(ContextualFeedbackSeverity::ERROR, $statusArray[0]->getSeverity());
187  }
188 
193  {
194  $node = $this->getAccessibleMock(
195  DirectoryNode::class,
196  ['getAbsolutePath', 'getRelativePathBelowSiteRoot', 'exists', 'isDirectory', 'isWritable', 'isPermissionCorrect'],
197  [],
198  '',
199  false
200  );
201  $path = $this->‪getTestFilePath('dir_');
202  touch($path);
203  $node->method('getAbsolutePath')->willReturn($path);
204  $node->method('getRelativePathBelowSiteRoot')->willReturn($path);
205  $node->method('exists')->willReturn(true);
206  $node->method('isDirectory')->willReturn(true);
207  $node->method('isPermissionCorrect')->willReturn(true);
208  $node->method('isWritable')->willReturn(false);
209  $statusArray = $node->getStatus();
210  self::assertSame(ContextualFeedbackSeverity::ERROR, $statusArray[0]->getSeverity());
211  }
212 
217  {
218  $node = $this->getAccessibleMock(
219  DirectoryNode::class,
220  ['getAbsolutePath', 'getRelativePathBelowSiteRoot', 'exists', 'isDirectory', 'isWritable', 'isPermissionCorrect'],
221  [],
222  '',
223  false
224  );
225  $path = $this->‪getTestFilePath('dir_');
226  touch($path);
227  $node->method('getAbsolutePath')->willReturn($path);
228  $node->method('getRelativePathBelowSiteRoot')->willReturn($path);
229  $node->method('exists')->willReturn(true);
230  $node->method('isDirectory')->willReturn(true);
231  $node->method('isPermissionCorrect')->willReturn(false);
232  $node->method('isWritable')->willReturn(true);
233  $statusArray = $node->getStatus();
234  self::assertSame(ContextualFeedbackSeverity::NOTICE, $statusArray[0]->getSeverity());
235  }
236 
241  {
242  $node = $this->getAccessibleMock(
243  DirectoryNode::class,
244  ['getAbsolutePath', 'getRelativePathBelowSiteRoot', 'exists', 'isDirectory', 'isWritable', 'isPermissionCorrect'],
245  [],
246  '',
247  false
248  );
249  $path = $this->‪getTestFilePath('dir_');
250  touch($path);
251  $node->method('getAbsolutePath')->willReturn($path);
252  $node->method('getRelativePathBelowSiteRoot')->willReturn($path);
253  $node->method('exists')->willReturn(true);
254  $node->method('isDirectory')->willReturn(true);
255  $node->method('isPermissionCorrect')->willReturn(true);
256  $node->method('isWritable')->willReturn(true);
257  $statusArray = $node->getStatus();
258  self::assertSame(ContextualFeedbackSeverity::OK, $statusArray[0]->getSeverity());
259  }
260 
264  public function ‪getStatusCallsGetStatusOnChildren(): void
265  {
266  $node = $this->getAccessibleMock(
267  DirectoryNode::class,
268  ['exists', 'isDirectory', 'isPermissionCorrect', 'getRelativePathBelowSiteRoot', 'isWritable'],
269  [],
270  '',
271  false
272  );
273  $node->method('exists')->willReturn(true);
274  $node->method('isDirectory')->willReturn(true);
275  $node->method('isPermissionCorrect')->willReturn(true);
276  $node->method('isWritable')->willReturn(true);
277  $childMock1 = $this->createMock(NodeInterface::class);
278  $childMock1->expects(self::once())->method('getStatus')->willReturn([]);
279  $childMock2 = $this->createMock(NodeInterface::class);
280  $childMock2->expects(self::once())->method('getStatus')->willReturn([]);
281  $node->_set('children', [$childMock1, $childMock2]);
282  $node->getStatus();
283  }
284 
289  {
290  $node = $this->getAccessibleMock(
291  DirectoryNode::class,
292  ['exists', 'isDirectory', 'isPermissionCorrect', 'getRelativePathBelowSiteRoot', 'isWritable'],
293  [],
294  '',
295  false
296  );
297  $node->method('exists')->willReturn(true);
298  $node->method('isDirectory')->willReturn(true);
299  $node->method('isPermissionCorrect')->willReturn(true);
300  $node->method('isWritable')->willReturn(true);
301  $childMock = $this->createMock(NodeInterface::class);
302  $childMessage = new ‪FlashMessage('foo');
303  $childMock->expects(self::once())->method('getStatus')->willReturn([$childMessage]);
304  $node->_set('children', [$childMock]);
305  $status = $node->getStatus();
306  $statusOfDirectory = $status[0];
307  $statusOfChild = $status[1];
308  self::assertSame(ContextualFeedbackSeverity::OK, $statusOfDirectory->getSeverity());
309  self::assertSame($childMessage, $statusOfChild);
310  }
311 
316  {
317  $node = $this->getMockBuilder(DirectoryNode::class)
318  ->disableOriginalConstructor()
319  ->onlyMethods(['fixSelf'])
320  ->getMock();
321  $uniqueReturn = [‪StringUtility::getUniqueId('foo_')];
322  $node->expects(self::once())->method('fixSelf')->willReturn($uniqueReturn);
323  self::assertSame($uniqueReturn, $node->fix());
324  }
325 
330  {
331  $node = $this->getAccessibleMock(DirectoryNode::class, ['fixSelf'], [], '', false);
332  $uniqueReturnSelf = ‪StringUtility::getUniqueId('foo_');
333  $node->expects(self::once())->method('fixSelf')->willReturn([$uniqueReturnSelf]);
334 
335  $childMock1 = $this->createMock(NodeInterface::class);
336  $uniqueReturnChild1 = ‪StringUtility::getUniqueId('foo_');
337  $childMock1->expects(self::once())->method('fix')->willReturn([$uniqueReturnChild1]);
338 
339  $childMock2 = $this->createMock(NodeInterface::class);
340  $uniqueReturnChild2 = ‪StringUtility::getUniqueId('foo_');
341  $childMock2->expects(self::once())->method('fix')->willReturn([$uniqueReturnChild2]);
342 
343  $node->_set('children', [$childMock1, $childMock2]);
344 
345  self::assertSame([$uniqueReturnSelf, $uniqueReturnChild1, $uniqueReturnChild2], $node->fix());
346  }
347 
352  {
353  $node = $this->getAccessibleMock(
354  DirectoryNode::class,
355  ['exists', 'createDirectory', 'isPermissionCorrect'],
356  [],
357  '',
358  false
359  );
360  $node->expects(self::once())->method('exists')->willReturn(false);
361  $node->method('isPermissionCorrect')->willReturn(true);
362  $uniqueReturn = new ‪FlashMessage('foo');
363  $node->expects(self::once())->method('createDirectory')->willReturn($uniqueReturn);
364  self::assertSame([$uniqueReturn], $node->_call('fixSelf'));
365  }
366 
371  {
372  $node = $this->getAccessibleMock(
373  DirectoryNode::class,
374  ['exists', 'isWritable', 'getRelativePathBelowSiteRoot', 'isDirectory', 'getAbsolutePath'],
375  [],
376  '',
377  false
378  );
379  $node->method('exists')->willReturn(true);
380  $node->method('isWritable')->willReturn(true);
381  $node->method('isDirectory')->willReturn(false);
382  $node->method('getRelativePathBelowSiteRoot')->willReturn('');
383  $node->method('getAbsolutePath')->willReturn('');
384  $result = $node->_call('fixSelf');
385  self::assertSame(ContextualFeedbackSeverity::ERROR, $result[0]->getSeverity());
386  }
387 
392  {
393  $node = $this->getAccessibleMock(
394  DirectoryNode::class,
395  ['exists', 'isWritable', 'fixPermission'],
396  [],
397  '',
398  false
399  );
400  $node->method('exists')->willReturn(true);
401  $node->method('isWritable')->willReturn(false);
402  $message = new ‪FlashMessage('foo');
403  $node->expects(self::once())->method('fixPermission')->willReturn($message);
404  self::assertSame([$message], $node->_call('fixSelf'));
405  }
406 
411  {
412  $this->expectException(Exception::class);
413  $this->expectExceptionCode(1366740091);
414  $node = $this->getAccessibleMock(DirectoryNode::class, ['exists', 'getAbsolutePath'], [], '', false);
415  $node->expects(self::once())->method('getAbsolutePath')->willReturn('');
416  $node->expects(self::once())->method('exists')->willReturn(true);
417  $node->_call('createDirectory');
418  }
419 
423  public function ‪createDirectoryCreatesDirectory(): void
424  {
425  $node = $this->getAccessibleMock(DirectoryNode::class, ['exists', 'getAbsolutePath', 'getRelativePathBelowSiteRoot'], [], '', false);
426  $path = $this->‪getTestFilePath('dir_');
427  $node->expects(self::once())->method('exists')->willReturn(false);
428  $node->method('getAbsolutePath')->willReturn($path);
429  $node->method('getRelativePathBelowSiteRoot')->willReturn($path);
430  $node->_call('createDirectory');
431  self::assertDirectoryExists($path);
432  }
433 
438  {
439  $node = $this->getAccessibleMock(DirectoryNode::class, ['exists', 'getAbsolutePath', 'getRelativePathBelowSiteRoot'], [], '', false);
440  $path = $this->‪getTestFilePath('dir_');
441  $node->expects(self::once())->method('exists')->willReturn(false);
442  $node->method('getAbsolutePath')->willReturn($path);
443  $node->method('getRelativePathBelowSiteRoot')->willReturn($path);
444  self::assertSame(ContextualFeedbackSeverity::OK, $node->_call('createDirectory')->getSeverity());
445  }
446 
451  {
452  $this->expectException(InvalidArgumentException::class);
453  $this->expectExceptionCode(1366222204);
454  $node = $this->getAccessibleMock(DirectoryNode::class, null, [], '', false);
455  $brokenStructure = [
456  [
457  'name' => 'foo',
458  ],
459  ];
460  $node->_call('createChildren', $brokenStructure);
461  }
462 
467  {
468  $this->expectException(InvalidArgumentException::class);
469  $this->expectExceptionCode(1366222205);
470  $node = $this->getAccessibleMock(DirectoryNode::class, null, [], '', false);
471  $brokenStructure = [
472  [
473  'type' => 'foo',
474  ],
475  ];
476  $node->_call('createChildren', $brokenStructure);
477  }
478 
483  {
484  $this->expectException(InvalidArgumentException::class);
485  $this->expectExceptionCode(1366222206);
486  $node = $this->getAccessibleMock(DirectoryNode::class, null, [], '', false);
487  $brokenStructure = [
488  [
489  'type' => DirectoryNode::class,
490  'name' => 'foo',
491  ],
492  [
493  'type' => DirectoryNode::class,
494  'name' => 'foo',
495  ],
496  ];
497  $node->_call('createChildren', $brokenStructure);
498  }
499 
503  public function ‪getChildrenReturnsCreatedChild(): void
504  {
505  $node = $this->getAccessibleMock(DirectoryNode::class, null, [], '', false);
506  $parent = $this->createMock(NodeInterface::class);
507  $childName = ‪StringUtility::getUniqueId('test_');
508  $structure = [
509  'name' => 'foo',
510  'type' => DirectoryNode::class,
511  'children' => [
512  [
513  'type' => DirectoryNode::class,
514  'name' => $childName,
515  ],
516  ],
517  ];
518  $node->__construct($structure, $parent);
519  $children = $node->_call('getChildren');
521  $child = $children[0];
522  self::assertInstanceOf(DirectoryNode::class, $children[0]);
523  self::assertSame($childName, $child->getName());
524  }
525 
530  {
531  $node = $this->getAccessibleMock(DirectoryNode::class, ['getAbsolutePath'], [], '', false);
532  $path = $this->‪getTestFilePath('dir_');
533  $node->method('getAbsolutePath')->willReturn($path);
534  self::assertFalse($node->isWritable());
535  }
536 
541  {
542  $node = $this->getAccessibleMock(DirectoryNode::class, ['getAbsolutePath'], [], '', false);
543  $path = $this->‪getTestDirectory('root_');
544  $node->method('getAbsolutePath')->willReturn($path);
545  self::assertTrue($node->isWritable());
546  }
547 
552  {
553  $node = $this->getAccessibleMock(DirectoryNode::class, ['getAbsolutePath'], [], '', false);
554  $path = $this->‪getTestDirectory('dir_');
555  $node->method('getAbsolutePath')->willReturn($path);
556  self::assertTrue($node->_call('isDirectory'));
557  }
558 
563  {
564  $node = $this->getAccessibleMock(DirectoryNode::class, ['getAbsolutePath'], [], '', false);
565  $testRoot = ‪Environment::getVarPath() . '/tests/';
566  $this->testFilesToDelete[] = $testRoot;
567  $path = $testRoot . ‪StringUtility::getUniqueId('root_');
569  $link = ‪StringUtility::getUniqueId('link_');
571  mkdir($path . '/' . ‪$dir);
572  symlink($path . '/' . ‪$dir, $path . '/' . $link);
573  $node->method('getAbsolutePath')->willReturn($path . '/' . $link);
574  self::assertFalse($node->_call('isDirectory'));
575  }
576 }
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getStatusReturnsArrayWithOkStatusIfDirectoryExistsAndPermissionAreCorrect
‪getStatusReturnsArrayWithOkStatusIfDirectoryExistsAndPermissionAreCorrect()
Definition: DirectoryNodeTest.php:240
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getStatusReturnsArrayWithWarningStatusIfDirectoryNotExists
‪getStatusReturnsArrayWithWarningStatusIfDirectoryNotExists()
Definition: DirectoryNodeTest.php:145
‪TYPO3\CMS\Install\Tests\Unit\FolderStructureTestCase\getTestFilePath
‪non empty string getTestFilePath($prefix='file_')
Definition: FolderStructureTestCase.php:51
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\constructorSetsParent
‪constructorSetsParent()
Definition: DirectoryNodeTest.php:82
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\createChildrenThrowsExceptionIfAChildNameIsNotSet
‪createChildrenThrowsExceptionIfAChildNameIsNotSet()
Definition: DirectoryNodeTest.php:466
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getStatusReturnsArrayWithOwnStatusAndStatusOfChild
‪getStatusReturnsArrayWithOwnStatusAndStatusOfChild()
Definition: DirectoryNodeTest.php:288
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\fixCallsFixOnChildrenAndReturnsMergedResult
‪fixCallsFixOnChildrenAndReturnsMergedResult()
Definition: DirectoryNodeTest.php:329
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\isDirectoryReturnsTrueIfNameIsADirectory
‪isDirectoryReturnsTrueIfNameIsADirectory()
Definition: DirectoryNodeTest.php:551
‪TYPO3\CMS\Install\Tests\Unit\FolderStructureTestCase\getTestDirectory
‪getTestDirectory($prefix='root_')
Definition: FolderStructureTestCase.php:36
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\constructorSetsTargetPermission
‪constructorSetsTargetPermission()
Definition: DirectoryNodeTest.php:96
‪TYPO3\CMS\Install\FolderStructure\RootNodeInterface
Definition: RootNodeInterface.php:22
‪$dir
‪$dir
Definition: validateRstFiles.php:257
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getStatusCallsGetStatusOnChildren
‪getStatusCallsGetStatusOnChildren()
Definition: DirectoryNodeTest.php:264
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\constructorThrowsExceptionIfNameContainsForwardSlash
‪constructorThrowsExceptionIfNameContainsForwardSlash()
Definition: DirectoryNodeTest.php:47
‪TYPO3\CMS\Install\FolderStructure\DirectoryNode
Definition: DirectoryNode.php:28
‪TYPO3\CMS\Core\Core\Environment\getVarPath
‪static getVarPath()
Definition: Environment.php:197
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\createChildrenThrowsExceptionIfAChildTypeIsNotSet
‪createChildrenThrowsExceptionIfAChildTypeIsNotSet()
Definition: DirectoryNodeTest.php:450
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\constructorCallsCreateChildrenIfChildrenAreSet
‪constructorCallsCreateChildrenIfChildrenAreSet()
Definition: DirectoryNodeTest.php:61
‪TYPO3\CMS\Core\Type\ContextualFeedbackSeverity
‪ContextualFeedbackSeverity
Definition: ContextualFeedbackSeverity.php:25
‪TYPO3\CMS\Install\FolderStructure\Exception\InvalidArgumentException
Definition: InvalidArgumentException.php:24
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\constructorThrowsExceptionIfParentIsNull
‪constructorThrowsExceptionIfParentIsNull()
Definition: DirectoryNodeTest.php:37
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\fixCallsFixSelfAndReturnsItsResult
‪fixCallsFixSelfAndReturnsItsResult()
Definition: DirectoryNodeTest.php:315
‪TYPO3\CMS\Core\Utility\GeneralUtility\mkdir_deep
‪static mkdir_deep($directory)
Definition: GeneralUtility.php:1753
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure
Definition: AbstractNodeTest.php:18
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getChildrenReturnsCreatedChild
‪getChildrenReturnsCreatedChild()
Definition: DirectoryNodeTest.php:503
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\fixSelfCallsFixPermissionIfDirectoryExistsButIsNotWritable
‪fixSelfCallsFixPermissionIfDirectoryExistsButIsNotWritable()
Definition: DirectoryNodeTest.php:391
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getStatusReturnsArrayWithErrorStatusIfNodeIsNotADirectory
‪getStatusReturnsArrayWithErrorStatusIfNodeIsNotADirectory()
Definition: DirectoryNodeTest.php:168
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\constructorSetsName
‪constructorSetsName()
Definition: DirectoryNodeTest.php:112
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getStatusReturnsArray
‪getStatusReturnsArray()
Definition: DirectoryNodeTest.php:123
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\isWritableReturnsTrueIfNodeExistsAndFileCanBeCreated
‪isWritableReturnsTrueIfNodeExistsAndFileCanBeCreated()
Definition: DirectoryNodeTest.php:540
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\fixSelfReturnsErrorStatusIfNodeExistsButIsNotADirectoryAndReturnsResult
‪fixSelfReturnsErrorStatusIfNodeExistsButIsNotADirectoryAndReturnsResult()
Definition: DirectoryNodeTest.php:370
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\createDirectoryReturnsOkStatusIfDirectoryWasCreated
‪createDirectoryReturnsOkStatusIfDirectoryWasCreated()
Definition: DirectoryNodeTest.php:437
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest
Definition: DirectoryNodeTest.php:33
‪TYPO3\CMS\Core\Messaging\FlashMessage
Definition: FlashMessage.php:27
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\createDirectoryCreatesDirectory
‪createDirectoryCreatesDirectory()
Definition: DirectoryNodeTest.php:423
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\isDirectoryReturnsFalseIfNameIsALinkToADirectory
‪isDirectoryReturnsFalseIfNameIsALinkToADirectory()
Definition: DirectoryNodeTest.php:562
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\createDirectoryThrowsExceptionIfNodeExists
‪createDirectoryThrowsExceptionIfNodeExists()
Definition: DirectoryNodeTest.php:410
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getStatusReturnsArrayWithNoticeStatusIfDirectoryExistsButPermissionAreNotCorrect
‪getStatusReturnsArrayWithNoticeStatusIfDirectoryExistsButPermissionAreNotCorrect()
Definition: DirectoryNodeTest.php:216
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\createChildrenThrowsExceptionForMultipleChildrenWithSameName
‪createChildrenThrowsExceptionForMultipleChildrenWithSameName()
Definition: DirectoryNodeTest.php:482
‪TYPO3\CMS\Core\Core\Environment
Definition: Environment.php:41
‪TYPO3\CMS\Install\Tests\Unit\FolderStructureTestCase
Definition: FolderStructureTestCase.php:29
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:51
‪TYPO3\CMS\Core\Utility\StringUtility
Definition: StringUtility.php:24
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\isWritableReturnsFalseIfNodeDoesNotExist
‪isWritableReturnsFalseIfNodeDoesNotExist()
Definition: DirectoryNodeTest.php:529
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\getStatusReturnsArrayWithErrorStatusIfDirectoryExistsButIsNotWritable
‪getStatusReturnsArrayWithErrorStatusIfDirectoryExistsButIsNotWritable()
Definition: DirectoryNodeTest.php:192
‪TYPO3\CMS\Install\FolderStructure\NodeInterface
Definition: NodeInterface.php:24
‪TYPO3\CMS\Install\FolderStructure\Exception
Definition: InvalidArgumentException.php:16
‪TYPO3\CMS\Install\Tests\Unit\FolderStructure\DirectoryNodeTest\fixSelfCallsCreateDirectoryIfDirectoryDoesNotExistAndReturnsResult
‪fixSelfCallsCreateDirectoryIfDirectoryDoesNotExistAndReturnsResult()
Definition: DirectoryNodeTest.php:351
‪TYPO3\CMS\Core\Utility\StringUtility\getUniqueId
‪static getUniqueId(string $prefix='')
Definition: StringUtility.php:29