From c1f9b1f7b1b77776192048005dcc66dcf3df2bfb Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 27 Dec 2014 15:41:37 +0100 Subject: Update to MediaWiki 1.24.1 --- includes/parser/Parser_DiffTest.php | 143 ------------------------------------ 1 file changed, 143 deletions(-) delete mode 100644 includes/parser/Parser_DiffTest.php (limited to 'includes/parser/Parser_DiffTest.php') diff --git a/includes/parser/Parser_DiffTest.php b/includes/parser/Parser_DiffTest.php deleted file mode 100644 index aeae234a..00000000 --- a/includes/parser/Parser_DiffTest.php +++ /dev/null @@ -1,143 +0,0 @@ -conf = $conf; - } - - function init() { - if ( !is_null( $this->parsers ) ) { - return; - } - - global $wgHooks; - static $doneHook = false; - if ( !$doneHook ) { - $doneHook = true; - $wgHooks['ParserClearState'][] = array( $this, 'onClearState' ); - } - if ( isset( $this->conf['shortOutput'] ) ) { - $this->shortOutput = $this->conf['shortOutput']; - } - - foreach ( $this->conf['parsers'] as $i => $parserConf ) { - if ( !is_array( $parserConf ) ) { - $class = $parserConf; - $parserConf = array( 'class' => $parserConf ); - } else { - $class = $parserConf['class']; - } - $this->parsers[$i] = new $class( $parserConf ); - } - } - - function __call( $name, $args ) { - $this->init(); - $results = array(); - $mismatch = false; - $lastResult = null; - $first = true; - foreach ( $this->parsers as $i => $parser ) { - $currentResult = call_user_func_array( array( &$this->parsers[$i], $name ), $args ); - if ( $first ) { - $first = false; - } else { - if ( is_object( $lastResult ) ) { - if ( $lastResult != $currentResult ) { - $mismatch = true; - } - } else { - if ( $lastResult !== $currentResult ) { - $mismatch = true; - } - } - } - $results[$i] = $currentResult; - $lastResult = $currentResult; - } - if ( $mismatch ) { - if ( count( $results ) == 2 ) { - $resultsList = array(); - foreach ( $this->parsers as $i => $parser ) { - $resultsList[] = var_export( $results[$i], true ); - } - $diff = wfDiff( $resultsList[0], $resultsList[1] ); - } else { - $diff = '[too many parsers]'; - } - $msg = "Parser_DiffTest: results mismatch on call to $name\n"; - if ( !$this->shortOutput ) { - $msg .= 'Arguments: ' . $this->formatArray( $args ) . "\n"; - } - $msg .= 'Results: ' . $this->formatArray( $results ) . "\n" . - "Diff: $diff\n"; - throw new MWException( $msg ); - } - return $lastResult; - } - - function formatArray( $array ) { - if ( $this->shortOutput ) { - foreach ( $array as $key => $value ) { - if ( $value instanceof ParserOutput ) { - $array[$key] = "ParserOutput: {$value->getText()}"; - } - } - } - return var_export( $array, true ); - } - - function setFunctionHook( $id, $callback, $flags = 0 ) { - $this->init(); - foreach ( $this->parsers as $parser ) { - $parser->setFunctionHook( $id, $callback, $flags ); - } - } - - /** - * @param $parser Parser - * @return bool - */ - function onClearState( &$parser ) { - // hack marker prefixes to get identical output - if ( !isset( $this->dtUniqPrefix ) ) { - $this->dtUniqPrefix = $parser->uniqPrefix(); - } else { - $parser->mUniqPrefix = $this->dtUniqPrefix; - } - return true; - } -} -- cgit v1.2.3-54-g00ecf