/** * Sets up the test data. */ public function setUp() { $siteLink = new SiteLink(WikibaseClient::getDefaultInstance()->getSettings()->getSetting('siteGlobalID'), 'WikibaseClientDataAccessTest'); if ($this->siteLinkLookup->getItemIdForSiteLink($siteLink)) { // Already set up for this MockRepository return; } $stringProperty = $this->getTestProperty(new PropertyId('P342'), 'string', 'LuaTestStringProperty'); $itemProperty = $this->getTestProperty(new PropertyId('P456'), 'wikibase-item', 'LuaTestItemProperty'); $stringSnak = new PropertyValueSnak($stringProperty->getId(), new StringValue('Lua :)')); $statement1 = $this->getTestStatement($stringSnak); $statement1->setRank(Statement::RANK_PREFERRED); $qualifierSnak1 = new PropertyValueSnak(new PropertyId('P342'), new StringValue('A qualifier Snak')); $qualifierSnak2 = new PropertyValueSnak(new PropertyId('P342'), new StringValue('Moar qualifiers')); $referenceSnak = new PropertyValueSnak(new PropertyId('P342'), new StringValue('A reference')); $statement1->setQualifiers(new SnakList(array($qualifierSnak1, $qualifierSnak2))); $statement1->addNewReference($referenceSnak); $stringProperty->getStatements()->addStatement($statement1); $this->siteLinkLookup->putEntity($stringProperty); $this->siteLinkLookup->putEntity($itemProperty); $stringSnak2 = new PropertyValueSnak($stringProperty->getId(), new StringValue('Lua is clearly superior to the parser function')); $statement2 = $this->getTestStatement($stringSnak2); $statement2->setRank(Statement::RANK_NORMAL); $itemSnak = new PropertyValueSnak($itemProperty->getId(), new EntityIdValue(new ItemId('Q885588'))); $statement3 = $this->getTestStatement($itemSnak); $statement3->setRank(Statement::RANK_NORMAL); $siteLinks = array($siteLink); $siteLinks[] = new SiteLink('fooSiteId', 'FooBarFoo'); $labels = array('de' => 'Lua Test Item', 'en' => 'Test all the code paths'); $this->createTestItem(new ItemId('Q32487'), $labels, array($statement1, $statement2), $siteLinks); $this->createTestItem(new ItemId('Q32488'), array(), array($statement1, $statement3), array()); // Create another test item to test arbitrary access $this->createTestItem(new ItemId('Q199024'), array('de' => 'Arbitrary access \\o/')); $this->createTestItem(new ItemId('Q885588'), array('ku-latn' => 'Pisîk')); }