/** * @return OutputPageBeforeHTMLHookHandler */ public static function newFromGlobalState() { $wikibaseRepo = WikibaseRepo::getDefaultInstance(); $entityIdParser = $wikibaseRepo->getEntityIdParser(); $entityContentFactory = $wikibaseRepo->getEntityContentFactory(); return new self(TemplateFactory::getDefaultInstance(), new BabelUserLanguageLookup(), $wikibaseRepo->getTermsLanguages(), $entityIdParser, $wikibaseRepo->getEntityRevisionLookup(), new LanguageNameLookup(), $entityContentFactory); }
private function newToolbarEditSectionGenerator() { $specialPageLinker = $this->getMock('Wikibase\\View\\SpecialPageLinker'); $specialPageLinker->expects($this->any())->method('getLink')->will($this->returnCallback(function ($specialPage, $params = array()) { return 'Special:' . $specialPage . '/' . implode('/', $params); })); $templateFactory = TemplateFactory::getDefaultInstance(); return new ToolbarEditSectionGenerator($specialPageLinker, $templateFactory); }
/** * @dataProvider getHtmlForClaimProvider * * @uses Wikibase\View\Template\Template * @uses Wikibase\View\Template\TemplateFactory * @uses Wikibase\View\Template\TemplateRegistry */ public function testGetHtmlForClaim(SnakHtmlGenerator $snakHtmlGenerator, Statement $statement, $patterns) { $templateFactory = TemplateFactory::getDefaultInstance(); $claimHtmlGenerator = new ClaimHtmlGenerator($templateFactory, $snakHtmlGenerator); $html = $claimHtmlGenerator->getHtmlForClaim($statement, 'edit'); foreach ($patterns as $message => $pattern) { $this->assertRegExp($pattern, $html, $message); } }
/** * @param PHPUnit_Framework_MockObject_Matcher_Invocation $formatPropertyIdMatcher * * @return SnakHtmlGenerator */ private function getSnakHtmlGenerator(PHPUnit_Framework_MockObject_Matcher_Invocation $formatPropertyIdMatcher) { $snakFormatter = $this->getMock('Wikibase\\Lib\\SnakFormatter'); $snakFormatter->expects($this->once())->method('formatSnak')->will($this->returnValue('<SNAK>')); $snakFormatter->expects($this->once())->method('getFormat')->will($this->returnValue(SnakFormatter::FORMAT_HTML)); $propertyIdFormatter = $this->getMock('Wikibase\\DataModel\\Services\\EntityId\\EntityIdFormatter'); $propertyIdFormatter->expects($formatPropertyIdMatcher)->method('formatEntityId')->will($this->returnValue('<ID>')); return new SnakHtmlGenerator(TemplateFactory::getDefaultInstance(), $snakFormatter, $propertyIdFormatter); }
private function getEntityTermsView($editSectionCalls = 0, $languageNameCalls = 0, $languageCode = 'en') { $editSectionGenerator = $this->getMock('Wikibase\\View\\EditSectionGenerator'); $editSectionGenerator->expects($this->exactly($editSectionCalls))->method('getLabelDescriptionAliasesEditSection')->will($this->returnValue('<EDITSECTION>')); $languageNameLookup = $this->getMock('Wikibase\\Lib\\LanguageNameLookup'); $languageNameLookup->expects($this->exactly($languageNameCalls))->method('getName')->will($this->returnCallback(function ($languageCode) { return "<LANGUAGENAME-{$languageCode}>"; })); return new EntityTermsView(TemplateFactory::getDefaultInstance(), $editSectionGenerator, $languageNameLookup, $languageCode); }
/** * @return OutputPageBeforeHTMLHookHandler */ private function getHookHandler() { $userLanguageLookup = $this->getMock('Wikibase\\Lib\\UserLanguageLookup'); $userLanguageLookup->expects($this->once())->method('getUserSpecifiedLanguages')->will($this->returnValue(array('de', 'es', 'ru'))); $contentLanguages = $this->getMock('Wikibase\\Lib\\ContentLanguages'); $contentLanguages->expects($this->once())->method('getLanguages')->will($this->returnValue(array('en', 'es', 'ru'))); $languageNameLookup = $this->getMock('Wikibase\\Lib\\LanguageNameLookup'); $languageNameLookup->expects($this->never())->method('getName'); $outputPageBeforeHTMLHookHandler = new OutputPageBeforeHTMLHookHandler(TemplateFactory::getDefaultInstance(), $userLanguageLookup, $contentLanguages, new BasicEntityIdParser(), $this->getMock('Wikibase\\Lib\\Store\\EntityRevisionLookup'), $languageNameLookup, new EntityContentFactory(array())); return $outputPageBeforeHTMLHookHandler; }
/** * @param User $user * @param EntityRevisionLookup $entityRevisionLookup * @param ItemId $itemId * * @return EntityViewPlaceholderExpander */ private function newExpander(User $user, EntityRevisionLookup $entityRevisionLookup, ItemId $itemId) { $templateFactory = TemplateFactory::getDefaultInstance(); $title = $this->getMockBuilder('Title')->disableOriginalConstructor()->getMock(); $language = Language::factory('en'); $idParser = $this->getMockBuilder('Wikibase\\DataModel\\Entity\\EntityIdParser')->disableOriginalConstructor()->getMock(); $idParser->expects($this->any())->method('parse')->will($this->returnValue($itemId)); $userLanguages = $this->getMock('Wikibase\\Lib\\UserLanguageLookup'); $userLanguages->expects($this->any())->method('getAllUserLanguages')->will($this->returnValue(array('de', 'en', 'ru'))); $languageNameLookup = $this->getMock('Wikibase\\Lib\\LanguageNameLookup'); return new EntityViewPlaceholderExpander($templateFactory, $title, $user, $language, $idParser, $entityRevisionLookup, $userLanguages, new MediaWikiContentLanguages(), $languageNameLookup); }
/** * @see ResourceLoaderModule::getScript * * @param ResourceLoaderContext $context * * @return string */ public function getScript(ResourceLoaderContext $context) { // register HTML templates $templateFactory = TemplateFactory::getDefaultInstance(); $templatesJson = FormatJson::encode($templateFactory->getTemplates()); // template store JavaScript initialisation $script = <<<EOT ( function( mw ) { \t'use strict'; \tmw.wbTemplates = mw.wbTemplates || {}; \tmw.wbTemplates.store = new mw.Map(); \tmw.wbTemplates.store.set( {$templatesJson} ); }( mediaWiki ) ); EOT; return $script . "\n" . parent::getScript($context); }
private function newEntityParserOutputGenerator() { $entityDataFormatProvider = new EntityDataFormatProvider(); $formats = array('json', 'ntriples'); $entityDataFormatProvider->setFormatWhiteList($formats); $entityTitleLookup = $this->getEntityTitleLookupMock(); $propertyDataTypeMatcher = new PropertyDataTypeMatcher($this->getPropertyDataTypeLookup()); $dataUpdaters = array(new ExternalLinksDataUpdater($propertyDataTypeMatcher), new ImageLinksDataUpdater($propertyDataTypeMatcher), new ReferencedEntitiesDataUpdater($entityTitleLookup, new BasicEntityIdParser())); return new EntityParserOutputGenerator($this->getEntityViewFactory(), $this->getConfigBuilderMock(), $entityTitleLookup, new SqlEntityInfoBuilderFactory(), $this->newLanguageFallbackChain(), TemplateFactory::getDefaultInstance(), $entityDataFormatProvider, $dataUpdaters, 'en'); }
public function provideTestGetHtml() { $templateFactory = TemplateFactory::getDefaultInstance(); $itemView = new ItemView($templateFactory, $this->getMockBuilder('Wikibase\\View\\EntityTermsView')->disableOriginalConstructor()->getMock(), $this->getMockBuilder('Wikibase\\View\\StatementSectionsView')->disableOriginalConstructor()->getMock(), $this->getMock('Language'), $this->getMockBuilder('Wikibase\\View\\SiteLinksView')->disableOriginalConstructor()->getMock(), array()); return array(array($itemView, $this->newEntityRevisionForStatements(array()), '/wb-item/')); }
/** * @return EntityParserOutputGeneratorFactory */ public function getEntityParserOutputGeneratorFactory() { $templateFactory = TemplateFactory::getDefaultInstance(); $dataTypeLookup = $this->getPropertyDataTypeLookup(); $statementGrouperBuilder = new StatementGrouperBuilder($this->settings->getSetting('statementSections'), $dataTypeLookup); $entityViewFactory = new EntityViewFactory($this->getEntityIdHtmlLinkFormatterFactory(), new EntityIdLabelFormatterFactory(), $this->getHtmlSnakFormatterFactory(), $statementGrouperBuilder->getStatementGrouper(), $this->getSiteStore(), $this->getDataTypeFactory(), $templateFactory, new LanguageNameLookup(), $this->settings->getSetting('siteLinkGroups'), $this->settings->getSetting('specialSiteLinkGroups'), $this->settings->getSetting('badgeItems')); $entityDataFormatProvider = new EntityDataFormatProvider(); $formats = $this->getSettings()->getSetting('entityDataFormats'); $entityDataFormatProvider->setFormatWhiteList($formats); return new EntityParserOutputGeneratorFactory($entityViewFactory, $this->getStore()->getEntityInfoBuilderFactory(), $this->getEntityContentFactory(), $this->getLanguageFallbackChainFactory(), $templateFactory, $entityDataFormatProvider, $dataTypeLookup, $this->getLocalEntityUriParser(), $this->settings->getSetting('preferredGeoDataProperties'), $this->settings->getSetting('preferredPageImagesProperties'), $this->settings->getSetting('globeUris')); }
public function provideTestGetHtml() { $templateFactory = TemplateFactory::getDefaultInstance(); $propertyView = new PropertyView($templateFactory, $this->getMockBuilder('Wikibase\\View\\EntityTermsView')->disableOriginalConstructor()->getMock(), $this->getMockBuilder('Wikibase\\View\\StatementSectionsView')->disableOriginalConstructor()->getMock(), $this->getDataTypeFactory(), Language::factory('en')); return array(array($propertyView, $this->newEntityRevisionForStatements(array()), '/wb-property/')); }
public function testGetDefaultInstance() { $instance = TemplateFactory::getDefaultInstance(); $this->assertInstanceOf('Wikibase\\View\\Template\\TemplateFactory', $instance); }