/**
  * @dataProvider provideInsertSelect
  * @covers Database::insertSelect
  */
 public function testInsertSelect($sql, $sqlTextNative, $sqlSelect, $sqlInsert)
 {
     $this->database->insertSelect($sql['destTable'], $sql['srcTable'], $sql['varMap'], $sql['conds'], __METHOD__, isset($sql['insertOptions']) ? $sql['insertOptions'] : [], isset($sql['selectOptions']) ? $sql['selectOptions'] : []);
     $this->assertLastSql($sqlTextNative);
     $dbWeb = new DatabaseTestHelper(__CLASS__, ['cliMode' => false]);
     $dbWeb->forceNextResult([array_flip(array_keys($sql['varMap']))]);
     $dbWeb->insertSelect($sql['destTable'], $sql['srcTable'], $sql['varMap'], $sql['conds'], __METHOD__, isset($sql['insertOptions']) ? $sql['insertOptions'] : [], isset($sql['selectOptions']) ? $sql['selectOptions'] : []);
     $this->assertLastSqlDb(implode('; ', [$sqlSelect, $sqlInsert]), $dbWeb);
 }
 /**
  * @dataProvider provideInsertSelect
  * @covers DatabaseBase::insertSelect
  */
 public function testInsertSelect($sql, $sqlText)
 {
     $this->database->insertSelect($sql['destTable'], $sql['srcTable'], $sql['varMap'], $sql['conds'], __METHOD__, isset($sql['insertOptions']) ? $sql['insertOptions'] : array(), isset($sql['selectOptions']) ? $sql['selectOptions'] : array());
     $this->assertLastSql($sqlText);
 }