/**
  * @dataProvider getErroneousTestDocuments
  */
 public function testParseErroneousRstFile($file, $message)
 {
     try {
         $document = new ezcDocumentRst();
         $document->options->errorReporting = E_PARSE | E_ERROR | E_WARNING;
         $document->registerDirective('my_custom_directive', 'ezcDocumentTestDummyDirective');
         $document->registerDirective('user', 'ezcDocumentTestDummyDirective');
         $document->registerDirective('book', 'ezcDocumentTestDummyDirective');
         $document->registerDirective('function', 'ezcDocumentTestDummyDirective');
         $document->registerDirective('replace', 'ezcDocumentTestDummyDirective');
         $document->loadFile($file);
         $docbook = $document->getAsDocbook();
         $xml = $docbook->save();
         $document = $parser->parse($tokenizer->tokenizeFile($file));
         $this->fail('Expected some exception.');
     } catch (ezcDocumentException $e) {
         $this->assertSame($message, $e->getMessage(), 'Different parse error expected.');
     }
 }
 public function testDocumentHeaderLevel()
 {
     $from = dirname(__FILE__) . '/files/rst/xhtml_body/s_002_titles.txt';
     $to = dirname(__FILE__) . '/files/rst/xhtml_body/s_002_titles_header_level.html';
     $document = new ezcDocumentRst();
     $document->options->errorReporting = E_PARSE | E_ERROR | E_WARNING;
     $document->options->xhtmlVisitor = 'ezcDocumentRstXhtmlBodyVisitor';
     $document->options->xhtmlVisitorOptions->headerLevel = 3;
     $document->registerDirective('my_custom_directive', 'ezcDocumentTestDummyXhtmlDirective');
     $document->registerDirective('user', 'ezcDocumentTestDummyXhtmlDirective');
     $document->registerDirective('book', 'ezcDocumentTestDummyXhtmlDirective');
     $document->registerDirective('function', 'ezcDocumentTestDummyXhtmlDirective');
     $document->registerDirective('replace', 'ezcDocumentTestDummyXhtmlDirective');
     $document->loadFile($from);
     $html = $document->getAsXhtml();
     $html->options->xmlHeader = true;
     $xml = $html->save();
     // Store test file, to have something to compare on failure
     $tempDir = $this->createTempDir('html_') . '/';
     file_put_contents($tempDir . basename($to), $xml);
     $this->assertEquals(file_get_contents($to), $xml, 'Document not visited as expected.');
     // Remove tempdir, when nothing failed.
     $this->removeTempDir();
 }
<?php

require 'tutorial_autoload.php';
// Load custom directive
require '00_01_address_directive.php';
$document = new ezcDocumentRst();
$document->registerDirective('address', 'myAddressDirective');
$document->loadString(<<<EORST
Address example
===============

.. address:: John Doe
    :street: Some Lane 42
EORST
);
$docbook = $document->getAsDocbook();
echo $docbook->save();