27 protected function setUp()
34 $this->testSubject = new \TYPO3\CMS\Core\Resource\Collection\FileCollectionRegistry();
42 $className = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection::class));
43 $this->testSubject->registerFileCollectionClass($className,
'foobar');
44 $returnedClassName = $this->testSubject->getFileCollectionClass(
'foobar');
45 $this->assertEquals($className, $returnedClassName);
53 $this->expectException(\InvalidArgumentException::class);
54 $this->expectExceptionCode(1391295613);
56 $this->testSubject->registerFileCollectionClass($this->getUniqueId(), substr($this->getUniqueId(), 0, 30));
64 $this->expectException(\InvalidArgumentException::class);
65 $this->expectExceptionCode(1391295611);
67 $className = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection::class));
68 $type = str_pad(
'', 40);
69 $this->testSubject->registerFileCollectionClass($className, $type);
77 $this->expectException(\InvalidArgumentException::class);
78 $this->expectExceptionCode(1391295643);
80 $className = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection::class));
81 $className2 = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\StaticFileCollection::class));
82 $this->testSubject->registerFileCollectionClass($className,
'foobar');
83 $this->testSubject->registerFileCollectionClass($className2,
'foobar');
91 $className = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection::class));
92 $className2 = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\StaticFileCollection::class));
93 $this->testSubject->registerFileCollectionClass($className,
'foobar');
94 $this->testSubject->registerFileCollectionClass($className2,
'foobar',
true);
102 $this->expectException(\InvalidArgumentException::class);
103 $this->expectExceptionCode(1391295644);
105 $this->testSubject->getFileCollectionClass($this->getUniqueId());
113 $className = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection::class));
114 $this->testSubject->registerFileCollectionClass($className,
'foobar');
115 $this->assertEquals($className, $this->testSubject->getFileCollectionClass(
'foobar'));
123 $className = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection::class));
124 $type = substr($this->getUniqueId(), 0, 30);
125 $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'fal'][
'registeredCollections'] = [
129 $this->assertEquals($className, $this->testSubject->getFileCollectionClass($type));
137 $className = get_class($this->getMockForAbstractClass(\
TYPO3\CMS\Core\Resource\Collection\AbstractFileCollection::class));
139 $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'fal'][
'registeredCollections'] = [
143 $this->assertTrue($this->testSubject->fileCollectionTypeExists($type));
144 $this->assertFalse($this->testSubject->fileCollectionTypeExists(
'bar'));
152 $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'fal'][
'registeredFileCollections'] = [];
154 $this->assertFalse($this->testSubject->fileCollectionTypeExists($this->getUniqueId()));
164 $GLOBALS[
'TCA'][
'sys_file_collection'] = [
166 'typeB' => [
'showitem' =>
'fieldA, fieldB, fieldC;labelC, --palette--;;paletteC, fieldD'],
171 'items' => [
'Type B',
'typeB']
178 $label =
'The Label';
180 $this->testSubject->addTypeToTCA($type, $label,
'something');
183 $this->assertEquals(
'sys_language_uid, l10n_parent, l10n_diffsource, title, --palette--;;1, type, something',
$GLOBALS[
'TCA'][
'sys_file_collection'][
'types'][
'my_type'][
'showitem']);
185 $indexOfNewType = count(
$GLOBALS[
'TCA'][
'sys_file_collection'][
'columns'][
'type'][
'config'][
'items']) - 1;
188 $this->assertEquals($type,
$GLOBALS[
'TCA'][
'sys_file_collection'][
'columns'][
'type'][
'config'][
'items'][$indexOfNewType][1]);
189 $this->assertEquals($label,
$GLOBALS[
'TCA'][
'sys_file_collection'][
'columns'][
'type'][
'config'][
'items'][$indexOfNewType][0]);