diff --git a/_test/tests/inc/parserutils_get_renderer.test.php b/_test/tests/inc/parserutils_get_renderer.test.php index 69aeb3b194c5f11964d0735a738ebb6725f62b69..0f373227de9934855cba3c78a3de204793fe376c 100644 --- a/_test/tests/inc/parserutils_get_renderer.test.php +++ b/_test/tests/inc/parserutils_get_renderer.test.php @@ -45,10 +45,6 @@ class parserutils_get_renderer_test extends DokuWikiTest { } // test fallback fails - /** - * @expectedException PHPUnit_Framework_Error - * @expectedExceptionCode E_USER_WARNING - */ function test_p_get_renderer_fallback_fail() { global $conf; diff --git a/inc/parserutils.php b/inc/parserutils.php index 06bd6dbb837de1e21e9c26e0d17ccf7c81a059f6..8244837e1e972d44be81b592e99707494432555b 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -636,9 +636,9 @@ function p_get_renderer($mode) { return $Renderer; } - // not bundled, see if its an enabled plugin for rendering $mode + // not bundled, see if its an enabled renderer plugin & when $mode is 'xhtml', the renderer can supply that format. $Renderer = $plugin_controller->load('renderer',$rname); - if ($Renderer && is_a($Renderer, 'Doku_Renderer') && ($mode == $Renderer->getFormat())) { + if ($Renderer && is_a($Renderer, 'Doku_Renderer') && ($mode != 'xhtml' || $mode == $Renderer->getFormat())) { return $Renderer; } @@ -660,7 +660,6 @@ function p_get_renderer($mode) { } // fallback failed, alert the world - trigger_error("Unable to resolve render class $rclass",E_USER_WARNING); msg("No renderer '$rname' found for mode '$mode'",-1); return null; }