/**
  * @dataProvider mergeProvider
  */
 public function testMergeItems($fromData, $toData, $expectedFrom, $expectedTo, $ignoreConflicts = array())
 {
     $interactor = $this->newInteractor();
     $fromId = new ItemId('Q1');
     $toId = new ItemId('Q2');
     $this->testHelper->putEntities(array('Q1' => $fromData, 'Q2' => $toData));
     if (is_string($ignoreConflicts)) {
         $ignoreConflicts = explode('|', $ignoreConflicts);
     }
     $interactor->mergeItems($fromId, $toId, $ignoreConflicts, 'CustomSummary');
     $actualTo = $this->testHelper->getEntity($toId);
     $this->testHelper->assertEntityEquals($expectedTo, $actualTo, 'modified target item');
     $this->assertRedirectWorks($expectedFrom, $fromId, $toId);
     $toRevId = $this->mockRepository->getLatestRevisionId($toId);
     $this->testHelper->assertRevisionSummary('@^/\\* *wbmergeitems-from:0\\|\\|Q1 *\\*/ *CustomSummary$@', $toRevId, 'summary for target item');
 }