public function changeOpAliasesProvider() { // "INVALID" is invalid $validatorFactory = $this->getTermValidatorFactory(); $enAliases = array('en-alias1', 'en-alias2', 'en-alias3'); $existingEnAliases = array('en-existingAlias1', 'en-existingAlias2'); $itemContent = ItemContent::newEmpty(); $item = $itemContent->getEntity(); $item->setAliases('en', $existingEnAliases); return array('add' => array($item->copy(), new ChangeOpAliases('en', $enAliases, 'add', $validatorFactory), array_merge($existingEnAliases, $enAliases)), 'set' => array($item->copy(), new ChangeOpAliases('en', $enAliases, 'set', $validatorFactory), $enAliases), 'set (default)' => array($item->copy(), new ChangeOpAliases('en', $enAliases, '', $validatorFactory), $enAliases), 'remove' => array($item->copy(), new ChangeOpAliases('en', $existingEnAliases, 'remove', $validatorFactory), null)); }
/** * @param Status $inputStatus * @param Entity|EntityRedirect|null $new * @param array $expected * * @dataProvider runData */ public function testRun_hooksAreCalled(Status $inputStatus, $new, array $expected) { $hooks = array_merge($GLOBALS['wgHooks'], array('EditFilterMergedContent' => array())); $testCase = $this; $hooks['EditFilterMergedContent'][] = function (IContextSource $context, Content $content, Status $status, $summary, User $user, $minoredit) use($testCase, $expected, $inputStatus) { $testCase->assertEquals($expected['title'], $context->getTitle()->getFullText()); $testCase->assertSame($context->getTitle(), $context->getWikiPage()->getTitle()); $testCase->assertEquals($expected['namespace'], $context->getTitle()->getNamespace()); $testCase->assertEquals(ItemContent::newEmpty(), $content); $testCase->assertTrue($status->isGood()); $testCase->assertTrue(is_string($summary)); $testCase->assertEquals('EditFilterHookRunnerTestUser', $user->getName()); $testCase->assertTrue(is_bool($minoredit)); //Change the status $status->merge($inputStatus); }; $this->setMwGlobals(array('wgHooks' => $hooks)); $runner = $this->getEditFilterHookRunner(); $status = $runner->run($new, User::newFromName('EditFilterHookRunnerTestUser'), 'summary'); $this->assertEquals($expected['status'], $status); }
public function provideGetEntityStatus() { $cases = parent::provideGetEntityStatus(); $contentLinkStub = ItemContent::newEmpty(); $contentLinkStub->getEntity()->getSiteLinkList()->addNewSiteLink('enwiki', 'Foo'); $cases['linkstub'] = array($contentLinkStub, ItemContent::STATUS_LINKSTUB); $linksAndTerms = $contentLinkStub->copy(); $linksAndTerms->getEntity()->setLabel('en', 'foo'); $cases['linkstub with terms'] = array($linksAndTerms, ItemContent::STATUS_LINKSTUB); // @todo this is needed in PropertyContentTest as well // once we have statements in properties $contentWithClaim = $this->newEmpty(); $snak = new PropertyNoValueSnak(83); $guid = '$testing$'; $contentWithClaim->getEntity()->getStatements()->addNewStatement($snak, null, null, $guid); $cases['claims'] = array($contentWithClaim, EntityContent::STATUS_NONE); $contentWithClaimAndLink = $contentWithClaim->copy(); $contentWithClaimAndLink->getEntity()->getSiteLinkList()->addNewSiteLink('enwiki', 'Foo'); $cases['statements and links'] = array($contentWithClaimAndLink, EntityContent::STATUS_NONE); return $cases; }