MediaWiki  master
ParserTestPrinter Class Reference

This is a TestRecorder responsible for printing information about progress, success and failure to the console. More...

Inheritance diagram for ParserTestPrinter:
Collaboration diagram for ParserTestPrinter:

Public Member Functions

 __construct ($term, $options)
 
 endSuite ($path)
 
 record ($test, ParserTestResult $result)
 
 report ()
 
 skipped ($test, $subtest)
 Mark a test skipped. More...
 
 start ()
 
 startSuite ($path)
 Show "Reading tests from ...". More...
 
 startTest ($test)
 
 warning ($message)
 Show a warning to the user. More...
 
- Public Member Functions inherited from TestRecorder
 end ()
 Called at the end of the parser test run. More...
 
 endSuite ($path)
 Called after ending an input file. More...
 
 record ($test, ParserTestResult $result)
 Called after each test. More...
 
 report ()
 Called before finishing the test run. More...
 
 skipped ($test, $subtest)
 Mark a test skipped. More...
 
 start ()
 Called at beginning of the parser test run. More...
 
 startSuite ($path)
 Called before starting an input file. More...
 
 startTest ($test)
 Called before starting a test. More...
 
 warning ($message)
 Show a warning to the user. More...
 

Private Member Functions

 colorDiff ($text)
 Colorize unified diff output if set for ANSI color output. More...
 
 dumpToFile ($data, $filename)
 Write the given string to a file, adding a final newline. More...
 
 extractFragment ($text, $position)
 
 quickDiff ($input, $output, $inFileTail= 'expected', $outFileTail= 'actual')
 Run given strings through a diff and return the (colorized) output. More...
 
 reportPercentage ($success, $total)
 
 showFailure (ParserTestResult $testResult)
 Print a failure message and provide some explanatory output about what went wrong if so configured. More...
 
 showSuccess (ParserTestResult $testResult)
 Print a happy success message. More...
 
 showTesting ($desc)
 
 wellFormed ($text)
 

Private Attributes

 $markWhitespace
 
 $showDiffs
 
 $showFailure
 
 $showOutput
 
 $showProgress
 
 $skipped
 
 $success
 
 $term
 
 $total
 
 $useDwdiff
 
 $xmlError
 

Detailed Description

This is a TestRecorder responsible for printing information about progress, success and failure to the console.

It is specific to the parserTests.php frontend.

Definition at line 27 of file ParserTestPrinter.php.

Constructor & Destructor Documentation

ParserTestPrinter::__construct (   $term,
  $options 
)

Definition at line 40 of file ParserTestPrinter.php.

References $options, $term, showFailure(), and term().

Member Function Documentation

ParserTestPrinter::colorDiff (   $text)
private

Colorize unified diff output if set for ANSI color output.

Subtractions are colored blue, additions red.

Parameters
string$text
Returns
string

Definition at line 221 of file ParserTestPrinter.php.

References term().

Referenced by quickDiff().

ParserTestPrinter::dumpToFile (   $data,
  $filename 
)
private

Write the given string to a file, adding a final newline.

Parameters
string$data
string$filename

Definition at line 208 of file ParserTestPrinter.php.

Referenced by quickDiff().

ParserTestPrinter::endSuite (   $path)

Definition at line 86 of file ParserTestPrinter.php.

References print.

ParserTestPrinter::extractFragment (   $text,
  $position 
)
private

Definition at line 256 of file ParserTestPrinter.php.

References term().

Referenced by wellFormed().

ParserTestPrinter::quickDiff (   $input,
  $output,
  $inFileTail = 'expected',
  $outFileTail = 'actual' 
)
private

Run given strings through a diff and return the (colorized) output.

Requires writable /tmp directory and a 'diff' command in the PATH.

Parameters
string$input
string$output
string$inFileTailTailing for the input file name
string$outFileTailTailing for the output file name
Returns
string

Definition at line 156 of file ParserTestPrinter.php.

References $input, $output, colorDiff(), dumpToFile(), global, wfEscapeShellArg(), wfIsWindows(), wfShellExec(), and wfTempDir().

Referenced by showFailure().

ParserTestPrinter::record (   $test,
ParserTestResult  $result 
)

Definition at line 90 of file ParserTestPrinter.php.

References ParserTestResult\isSuccess(), showFailure(), and showSuccess().

ParserTestPrinter::report ( )

Definition at line 301 of file ParserTestPrinter.php.

References print, reportPercentage(), and term().

ParserTestPrinter::reportPercentage (   $success,
  $total 
)
private

Definition at line 309 of file ParserTestPrinter.php.

References $success, $total, print, skipped(), term(), and wfPercent().

Referenced by report().

ParserTestPrinter::showFailure ( ParserTestResult  $testResult)
private

Print a failure message and provide some explanatory output about what went wrong if so configured.

Parameters
ParserTestResult$testResult
Returns
bool

Definition at line 120 of file ParserTestPrinter.php.

References ParserTestResult\getDescription(), print, quickDiff(), showTesting(), term(), and wellFormed().

Referenced by __construct(), and record().

ParserTestPrinter::showSuccess ( ParserTestResult  $testResult)
private

Print a happy success message.

Parameters
ParserTestResult$testResult
Returns
bool

Definition at line 107 of file ParserTestPrinter.php.

References print, and term().

Referenced by record().

ParserTestPrinter::showTesting (   $desc)
private

Definition at line 70 of file ParserTestPrinter.php.

References print.

Referenced by showFailure(), and startTest().

ParserTestPrinter::skipped (   $test,
  $subtest 
)

Mark a test skipped.

Parameters
string$test
string$subtest

Definition at line 294 of file ParserTestPrinter.php.

References print, and term().

Referenced by reportPercentage(), and start().

ParserTestPrinter::start ( )

Definition at line 58 of file ParserTestPrinter.php.

References skipped().

ParserTestPrinter::startSuite (   $path)

Show "Reading tests from ...".

Parameters
string$path

Definition at line 79 of file ParserTestPrinter.php.

References print, and term().

ParserTestPrinter::startTest (   $test)

Definition at line 64 of file ParserTestPrinter.php.

References showTesting().

ParserTestPrinter::warning (   $message)

Show a warning to the user.

Parameters
string$message

Definition at line 285 of file ParserTestPrinter.php.

ParserTestPrinter::wellFormed (   $text)
private

Definition at line 229 of file ParserTestPrinter.php.

References $html, $parser, extractFragment(), and Sanitizer\hackDocType().

Referenced by showFailure().

Member Data Documentation

ParserTestPrinter::$markWhitespace
private

Definition at line 37 of file ParserTestPrinter.php.

ParserTestPrinter::$showDiffs
private

Definition at line 32 of file ParserTestPrinter.php.

ParserTestPrinter::$showFailure
private

Definition at line 34 of file ParserTestPrinter.php.

ParserTestPrinter::$showOutput
private

Definition at line 35 of file ParserTestPrinter.php.

ParserTestPrinter::$showProgress
private

Definition at line 33 of file ParserTestPrinter.php.

ParserTestPrinter::$skipped
private

Definition at line 30 of file ParserTestPrinter.php.

ParserTestPrinter::$success
private

Definition at line 29 of file ParserTestPrinter.php.

Referenced by reportPercentage().

ParserTestPrinter::$term
private

Definition at line 31 of file ParserTestPrinter.php.

Referenced by __construct().

ParserTestPrinter::$total
private

Definition at line 28 of file ParserTestPrinter.php.

Referenced by reportPercentage().

ParserTestPrinter::$useDwdiff
private

Definition at line 36 of file ParserTestPrinter.php.

ParserTestPrinter::$xmlError
private

Definition at line 38 of file ParserTestPrinter.php.


The documentation for this class was generated from the following file: