private function applyDiffOpChange(&$base, $key, DiffOpChange $diffOp) { if (!array_key_exists($key, $base)) { $this->handleError('Cannot do a non-add operation with an element not present in a map'); return; } if (!$this->valuesAreEqual($base[$key], $diffOp->getOldValue())) { $this->handleError('Tried changing a map value from an invalid source value'); return; } $base[$key] = $diffOp->getNewValue(); }
/** * @param DiffOpChange $rankChange * @param Snak $oldestMainSnak The old main snak, if present; otherwise, the new main snak * @param Snak $newestMainSnak The new main snak, if present; otherwise, the old main snak * * @return string HTML */ private function visualizeRankChange(DiffOpChange $rankChange, Snak $oldestMainSnak, Snak $newestMainSnak) { $msg = wfMessage('wikibase-diffview-rank')->inLanguage($this->languageCode); $header = $msg->parse(); $valueFormatter = new DiffOpValueFormatter($this->snakVisualizer->getPropertyAndValueHeader($oldestMainSnak) . ' / ' . $header, $this->snakVisualizer->getPropertyAndValueHeader($newestMainSnak) . ' / ' . $header, $this->getRankHtml($rankChange->getOldValue()), $this->getRankHtml($rankChange->getNewValue())); return $valueFormatter->generateHtml(); }
/** * @dataProvider instanceProvider */ public function testToArrayMore(DiffOpChange $diffOp) { $array = $diffOp->toArray(); $this->assertArrayHasKey('newvalue', $array); $this->assertArrayHasKey('oldvalue', $array); }