/** * @test * @see http://forge.typo3.org/issues/21688 */ public function subqueryIsRemappedForExistsWhereClause() { $selectFields = '*'; $fromTables = 'tx_crawler_process'; $whereClause = 'active = 0 AND NOT EXISTS (' . $this->subject->SELECTsubquery('*', 'tx_crawler_queue', 'tx_crawler_queue.process_id = tx_crawler_process.process_id AND tx_crawler_queue.exec_time = 0') . ')'; $groupBy = ''; $orderBy = ''; $remappedParameters = $this->subject->_call('map_remapSELECTQueryParts', $selectFields, $fromTables, $whereClause, $groupBy, $orderBy); $result = $this->subject->_call('SELECTqueryFromArray', $remappedParameters); $expected = 'SELECT * FROM "tx_crawler_ps" WHERE "is_active" = 0 AND NOT EXISTS ('; $expected .= 'SELECT * FROM "tx_crawler_queue" WHERE "tx_crawler_queue"."process_id" = "tx_crawler_ps"."ps_id" AND "tx_crawler_queue"."exec_time" = 0'; $expected .= ')'; $this->assertEquals($expected, $this->cleanSql($result)); }