DokuWiki Test Suite
=============================================================================

Content of this document:

  * Requirements
  * Installation of PHPUnit via Pear
  * Running all Tests
  * Create new Tests
  * Known Bad Tests
  * TODO for test framework



Requirements
-----------------------------------------------------------------------------

  * PHP Unit 3.7


Installation of PHPUnit via Pear
-----------------------------------------------------------------------------

  > pear config-set auto_discover 1
  > pear upgrade
  > pear install pear.phpunit.de/PHPUnit


Running all Tests
-----------------------------------------------------------------------------

  > cd _testing/
  > phpunit


Create new Tests
-----------------------------------------------------------------------------

To create a test for DokuWiki, create a *.test.php file within the tests/
folder. Please respect the folder structure and naming convention. Inside the
file, implement a class, extending 'DokuWikiTest'. Every method, starting
with 'test' will be called as a test (e.g. 'testIfThisIsValid');


Known Bad Tests
-----------------------------------------------------------------------------

Every test should be green on every run but the following were broken after
the PHPUnit migration and are disabled by default:

  * inc/DifferenceEngine (removed FS#2161, FS#2223)
  * inc/html_hilight (runkit)
  * inc/indexer_idx_indexlengths (fs dependencies)
  * inc/mail_send (integration test)
  * inc/parser/parser_formatting
  * inc/parser/xhtml_htmlphp (runkit)
  * inc/parser/xhtml_links


TODO for the test framework
-----------------------------------------------------------------------------

  * test cross platform compatibility: especially test windows
  * update http://www.dokuwiki.org/devel:unittesting
  * optional: add helper methods to TestRequest for easy form submission
    * createForm(), ...
