summaryrefslogtreecommitdiff
path: root/maintenance/compareParsers.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/compareParsers.php')
-rw-r--r--maintenance/compareParsers.php52
1 files changed, 41 insertions, 11 deletions
diff --git a/maintenance/compareParsers.php b/maintenance/compareParsers.php
index fabc2571..e67c439b 100644
--- a/maintenance/compareParsers.php
+++ b/maintenance/compareParsers.php
@@ -7,7 +7,7 @@
* Templates etc are pulled from the local wiki database, not from the dump.
*
* Copyright © 2011 Platonides
- * http://www.mediawiki.org/
+ * https://www.mediawiki.org/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -47,11 +47,31 @@ class CompareParsers extends DumpIterator {
$this->addOption( 'parser1', 'The first parser to compare.', true, true );
$this->addOption( 'parser2', 'The second parser to compare.', true, true );
$this->addOption( 'tidy', 'Run tidy on the articles.', false, false );
- $this->addOption( 'save-failed', 'Folder in which articles which differ will be stored.', false, true );
+ $this->addOption(
+ 'save-failed',
+ 'Folder in which articles which differ will be stored.',
+ false,
+ true
+ );
$this->addOption( 'show-diff', 'Show a diff of the two renderings.', false, false );
- $this->addOption( 'diff-bin', 'Binary to use for diffing (can also be provided by DIFF env var).', false, false );
- $this->addOption( 'strip-parameters', 'Remove parameters of html tags to increase readability.', false, false );
- $this->addOption( 'show-parsed-output', 'Show the parsed html if both Parsers give the same output.', false, false );
+ $this->addOption(
+ 'diff-bin',
+ 'Binary to use for diffing (can also be provided by DIFF env var).',
+ false,
+ false
+ );
+ $this->addOption(
+ 'strip-parameters',
+ 'Remove parameters of html tags to increase readability.',
+ false,
+ false
+ );
+ $this->addOption(
+ 'show-parsed-output',
+ 'Show the parsed html if both Parsers give the same output.',
+ false,
+ false
+ );
}
public function checkOptions() {
@@ -96,12 +116,13 @@ class CompareParsers extends DumpIterator {
if ( !$this->stripParametersEnabled ) {
return $text;
}
+
return preg_replace( '/(<a) [^>]+>/', '$1>', $text );
}
/**
* Callback function for each revision, parse with both parsers and compare
- * @param $rev Revision
+ * @param Revision $rev
*/
public function processRevision( $rev ) {
$title = $rev->getTitle();
@@ -118,7 +139,9 @@ class CompareParsers extends DumpIterator {
$content = $rev->getContent();
if ( $content->getModel() !== CONTENT_MODEL_WIKITEXT ) {
- $this->error( "Page {$title->getPrefixedText()} does not contain wikitext but {$content->getModel()}\n" );
+ $this->error( "Page {$title->getPrefixedText()} does not contain wikitext "
+ . "but {$content->getModel()}\n" );
+
return;
}
@@ -132,13 +155,21 @@ class CompareParsers extends DumpIterator {
$this->error( "Parsing for {$title->getPrefixedText()} differs\n" );
if ( $this->saveFailed ) {
- file_put_contents( $this->saveFailed . '/' . rawurlencode( $title->getPrefixedText() ) . ".txt", $text );
+ file_put_contents(
+ $this->saveFailed . '/' . rawurlencode( $title->getPrefixedText() ) . ".txt",
+ $text
+ );
}
if ( $this->showDiff ) {
- $this->output( wfDiff( $this->stripParameters( $output1->getText() ), $this->stripParameters( $output2->getText() ), '' ) );
+ $this->output( wfDiff(
+ $this->stripParameters( $output1->getText() ),
+ $this->stripParameters( $output2->getText() ),
+ ''
+ ) );
}
} else {
$this->output( $title->getPrefixedText() . "\tOK\n" );
+
if ( $this->showParsedOutput ) {
$this->output( $this->stripParameters( $output1->getText() ) );
}
@@ -149,10 +180,9 @@ class CompareParsers extends DumpIterator {
/* Look for the parser in a file appropiately named in the current folder */
if ( !class_exists( $parserName ) && file_exists( "$parserName.php" ) ) {
global $wgAutoloadClasses;
- $wgAutoloadClasses[ $parserName ] = realpath( '.' ) . "/$parserName.php";
+ $wgAutoloadClasses[$parserName] = realpath( '.' ) . "/$parserName.php";
}
}
-
}
$maintClass = "CompareParsers";