本文整理汇总了PHP中MWTidy::factory方法的典型用法代码示例。如果您正苦于以下问题:PHP MWTidy::factory方法的具体用法?PHP MWTidy::factory怎么用?PHP MWTidy::factory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MWTidy
的用法示例。
在下文中一共展示了MWTidy::factory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: perTestSetup
/**
* Do any required setup which is dependent on test options.
*
* @see staticSetup() for more information about setup/teardown
*
* @param array $test Test info supplied by TestFileReader
* @param callable|null $nextTeardown
* @return ScopedCallback
*/
public function perTestSetup($test, $nextTeardown = null)
{
$teardown = [];
$this->checkSetupDone('setupDatabase', 'setDatabase');
$teardown[] = $this->markSetupDone('perTestSetup');
$opts = $this->parseOptions($test['options']);
$config = $test['config'];
// Find out values for some special options.
$langCode = self::getOptionValue('language', $opts, 'en');
$variant = self::getOptionValue('variant', $opts, false);
$maxtoclevel = self::getOptionValue('wgMaxTocLevel', $opts, 999);
$linkHolderBatchSize = self::getOptionValue('wgLinkHolderBatchSize', $opts, 1000);
$setup = ['wgEnableUploads' => self::getOptionValue('wgEnableUploads', $opts, true), 'wgLanguageCode' => $langCode, 'wgRawHtml' => self::getOptionValue('wgRawHtml', $opts, false), 'wgNamespacesWithSubpages' => [0 => isset($opts['subpage'])], 'wgMaxTocLevel' => $maxtoclevel, 'wgAllowExternalImages' => self::getOptionValue('wgAllowExternalImages', $opts, true), 'wgThumbLimits' => [self::getOptionValue('thumbsize', $opts, 180)], 'wgDefaultLanguageVariant' => $variant, 'wgLinkHolderBatchSize' => $linkHolderBatchSize, 'wgEnableMagicLinks' => self::getOptionValue('wgEnableMagicLinks', $opts, []) + ['ISBN' => true, 'PMID' => true, 'RFC' => true]];
if ($config) {
$configLines = explode("\n", $config);
foreach ($configLines as $line) {
list($var, $value) = explode('=', $line, 2);
$setup[$var] = eval("return {$value};");
}
}
/** @since 1.20 */
Hooks::run('ParserTestGlobals', [&$setup]);
// Create tidy driver
if (isset($opts['tidy'])) {
// Cache a driver instance
if ($this->tidyDriver === null) {
$this->tidyDriver = MWTidy::factory($this->tidySupport->getConfig());
}
$tidy = $this->tidyDriver;
} else {
$tidy = false;
}
MWTidy::setInstance($tidy);
$teardown[] = function () {
MWTidy::destroySingleton();
};
// Set content language. This invalidates the magic word cache and title services
$lang = Language::factory($langCode);
$setup['wgContLang'] = $lang;
$reset = function () {
MagicWord::clearCache();
$this->resetTitleServices();
};
$setup[] = $reset;
$teardown[] = $reset;
// Make a user object with the same language
$user = new User();
$user->setOption('language', $langCode);
$setup['wgLang'] = $lang;
// We (re)set $wgThumbLimits to a single-element array above.
$user->setOption('thumbsize', 0);
$setup['wgUser'] = $user;
// And put both user and language into the context
$context = RequestContext::getMain();
$context->setUser($user);
$context->setLanguage($lang);
$teardown[] = function () use($context) {
// Reset context to the restored globals
$context->setUser($GLOBALS['wgUser']);
$context->setLanguage($GLOBALS['wgContLang']);
};
$teardown[] = $this->executeSetupSnippets($setup);
return $this->createTeardownObject($teardown, $nextTeardown);
}