/** * @test * @see http://forge.typo3.org/issues/23087 */ public function findInSetFieldIsProperlyRemapped() { $selectFields = 'fe_group'; $fromTables = 'tt_news'; $whereClause = 'FIND_IN_SET(10, fe_group)'; $groupBy = ''; $orderBy = ''; $remappedParameters = $this->subject->_call('map_remapSELECTQueryParts', $selectFields, $fromTables, $whereClause, $groupBy, $orderBy); $result = $this->subject->_call('SELECTqueryFromArray', $remappedParameters); $expected = 'SELECT "usergroup" FROM "ext_tt_news" WHERE \',\'||"ext_tt_news"."usergroup"||\',\' LIKE \'%,10,%\''; $this->assertEquals($expected, $this->cleanSql($result)); }
/** * @test * @see http://forge.typo3.org/issues/21902 */ public function locateStatementWithExternalTableIsProperlyRemapped() { $selectFields = '*, CASE WHEN' . ' LOCATE(' . $this->subject->fullQuoteStr('(fce)', 'tx_templavoila_tmplobj') . ', tx_templavoila_tmplobj.datastructure, 4)>0 THEN 2' . ' ELSE 1' . ' END AS scope'; $fromTables = 'tx_templavoila_tmplobj'; $whereClause = '1=1'; $groupBy = ''; $orderBy = ''; $remappedParameters = $this->subject->_call('map_remapSELECTQueryParts', $selectFields, $fromTables, $whereClause, $groupBy, $orderBy); $result = $this->subject->_call('SELECTqueryFromArray', $remappedParameters); $expected = 'SELECT *, CASE WHEN CHARINDEX(\'(fce)\', "tx_templavoila_tmplobj"."ds", 4) > 0 THEN 2 ELSE 1 END AS "scope" FROM "tx_templavoila_tmplobj" WHERE 1 = 1'; $this->assertEquals($expected, $this->cleanSql($result)); }