diff --git a/typo3/sysext/core/Classes/Category/CategoryRegistry.php b/typo3/sysext/core/Classes/Category/CategoryRegistry.php index d941015a3b149b90a92f012eebbb049679d540ff..0d8426149062e839e29d3e666190e92c2298dff7 100644 --- a/typo3/sysext/core/Classes/Category/CategoryRegistry.php +++ b/typo3/sysext/core/Classes/Category/CategoryRegistry.php @@ -279,7 +279,7 @@ class CategoryRegistry implements SingletonInterface } $typesList = ''; - if (!empty($options['typesList'])) { + if (isset($options['typesList']) && $options['typesList'] !== '') { $typesList = $options['typesList']; } diff --git a/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php b/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php index 724b32a00ef0130dc4ea4edbe4484526ddd3212f..5d5cd491ccc902d0fc06e2aedd129caa82f6bd14 100644 --- a/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php +++ b/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php @@ -46,6 +46,9 @@ class CategoryRegistryTest extends \TYPO3\CMS\Core\Tests\UnitTestCase 'ctrl' => array(), 'columns' => array(), 'types' => array( + '0' => array( + 'showitem' => '' + ), '1' => array( 'showitem' => '' ) @@ -266,6 +269,16 @@ class CategoryRegistryTest extends \TYPO3\CMS\Core\Tests\UnitTestCase } } + /** + * @test + */ + public function tabIsOnlyAddedForTypesThatAreSpecifiedInTypesList() + { + $this->subject->add('text_extension_a', $this->tables['first'], 'categories', array('typesList' => '0')); + $this->subject->applyTcaForPreRegisteredTables(); + $this->assertSame('', $GLOBALS['TCA'][$this->tables['first']]['types'][1]['showitem']); + } + /** * @test */