/** * @param array $entitiesResult * @returns Revisions * @todo this could be factored into a different class? */ private function newRevisionsFromResult(array $entitiesResult) { $revisions = new Revisions(); foreach ($entitiesResult as $entityResult) { if (array_key_exists('missing', $entityResult)) { continue; } $revisions->addRevision(new Revision($this->getContentFromEntity($this->entityDeserializer->deserialize($entityResult)), new PageIdentifier(null, $entityResult['pageid']), $entityResult['lastrevid'], null, null, $entityResult['modified'])); } return $revisions; }
/** * @param array $array * * @return Revisions */ private function getRevisionsFromResult($array) { $revisions = new Revisions(); $pageid = $array['pageid']; foreach ($array['revisions'] as $revision) { $revisions->addRevision(new Revision($this->getContent($array['contentmodel'], $revision['*']), new PageIdentifier(new Title($array['title'], $array['ns']), $pageid), $revision['revid'], new EditInfo($revision['comment'], array_key_exists('minor', $revision), array_key_exists('bot', $revision)), $revision['user'], $revision['timestamp'])); } return $revisions; }
/** * @dataProvider provideValidConstruction */ public function testValidConstruction($input, $expected) { $revisions = new Revisions($input); $this->assertEquals($expected, $revisions->toArray()); }