/** * @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();