/** * Adds fake serialization to show a sitelink has been removed * * @since 0.5 * * @param SiteLinkList $siteLinkList * @param array|string $path where the data is located */ public function addRemovedSiteLinks(SiteLinkList $siteLinkList, $path) { $serializer = $this->serializerFactory->newSiteLinkSerializer(); $values = array(); foreach ($siteLinkList->toArray() as $siteLink) { $value = $serializer->serialize($siteLink); $value['removed'] = ''; $values[$siteLink->getSiteId()] = $value; } if ($this->addMetaData) { $values = $this->modifier->modifyUsingCallback($values, null, $this->callbackFactory->getCallbackToSetArrayType('kvp', 'site')); $values[ApiResult::META_KVP_MERGE] = true; } $this->setList($path, 'sitelinks', $values, 'sitelink'); }
public function testToArray() { $list = new SiteLinkList(); $list->addNewSiteLink('enwiki', 'foo'); $list->addNewSiteLink('dewiki', 'bar'); $expected = array('enwiki' => new SiteLink('enwiki', 'foo'), 'dewiki' => new SiteLink('dewiki', 'bar')); $this->assertEquals($expected, $list->toArray()); }