/** * @test */ public function addAddsOnlyOneSqlString() { $this->subject->add('text_extension_a', $this->tables['first'], 'categories1'); $this->subject->add('text_extension_b', $this->tables['first'], 'categories1', array(), true); $sqlData = $this->subject->addExtensionCategoryDatabaseSchemaToTablesDefinition(array(), 'text_extension_a'); $this->assertEmpty($sqlData['sqlString'][0]); }
/** * @test */ public function tabIsAddedOnlyOncePerTable() { $this->subject->add('text_extension_a', $this->tables['first'], 'categories1'); $this->subject->add('text_extension_a', $this->tables['first'], 'categories2'); $this->subject->applyTcaForPreRegisteredTables(); foreach ($GLOBALS['TCA'][$this->tables['first']]['types'] as $typeConfig) { $this->assertSame(1, substr_count($typeConfig['showitem'], '--div--;LLL:EXT:lang/locallang_tca.xlf:sys_category.tabs.category')); } }
/** * @test */ public function areDatabaseDefinitionsOfParticularExtensionAvailable() { $this->fixture->add('test_extension_a', $this->tables['first'], 'categories'); $this->fixture->add('test_extension_b', $this->tables['second'], 'categories'); $definitions = $this->fixture->getDatabaseTableDefinition('test_extension_a'); $matches = array(); preg_match_all('#CREATE TABLE\\s*([^ (]+)\\s*\\(\\s*([^ )]+)\\s+int\\(11\\)[^)]+\\);#mis', $definitions, $matches); $this->assertEquals(1, count($matches[0])); $this->assertEquals($matches[1][0], $this->tables['first']); $this->assertEquals($matches[2][0], 'categories'); }