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

PHPUnit will fail on some systems with the error 'headers already sent'. The
known workaround for that is to use the '--stderr' flag for PHPUnit:

  > phpunit --stderr


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');


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(), ...


Migration Protocol
-----------------------------------------------------------------------------

The following tests were not migrated:

  * 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

