/**
  * @dataProvider provideToString
  */
 public function testToString($changes, $regex)
 {
     $job = ChangeNotificationJob::newFromChanges($changes);
     // toString used to fail on some platforms if a job contained a non-primitive parameter.
     $s = $job->toString();
     $this->assertRegExp($regex, $s);
 }
 /**
  * @see ChangeNotificationSender::sendNotification
  *
  * @param string   $siteID:  The client wiki's global site identifier, as used by sitelinks.
  * @param Change[] $changes: The list of changes to post to the wiki.
  */
 public function sendNotification($siteID, array $changes)
 {
     if (empty($changes)) {
         return;
         // nothing to do
     }
     if (isset($this->wikiDBNames[$siteID])) {
         $wikiDB = $this->wikiDBNames[$siteID];
     } else {
         $wikiDB = $siteID;
     }
     $job = ChangeNotificationJob::newFromChanges($changes, $this->repoDB);
     // @todo: inject JobQueueGroup
     $qgroup = JobQueueGroup::singleton($wikiDB);
     $qgroup->push($job);
     wfDebugLog(__METHOD__, "Posted notification job for site {$siteID} with " . count($changes) . " changes to {$wikiDB}.");
 }