diff options
Diffstat (limited to 'renderer/src')
| -rw-r--r-- | renderer/src/html.rs | 8 | ||||
| -rw-r--r-- | renderer/src/html/tests.rs | 25 |
2 files changed, 31 insertions, 2 deletions
diff --git a/renderer/src/html.rs b/renderer/src/html.rs index fe934e7..0092315 100644 --- a/renderer/src/html.rs +++ b/renderer/src/html.rs @@ -11,6 +11,7 @@ use document_tree::{ elements as e, extra_attributes as a, element_categories as c, + attribute_types as at, }; @@ -238,8 +239,11 @@ impl HTMLRender for e::Target { impl HTMLRender for e::Raw { fn render_html<W>(&self, renderer: &mut HTMLRenderer<W>) -> Result<(), Error> where W: Write { - for c in self.children() { - write!(renderer.stream, "{}", c)?; + let extra = self.extra(); + if extra.format.contains(&at::NameToken("html".to_owned())) { + for c in self.children() { + write!(renderer.stream, "{}", c)?; + } } Ok(()) } diff --git a/renderer/src/html/tests.rs b/renderer/src/html/tests.rs index afd2d24..b380847 100644 --- a/renderer/src/html/tests.rs +++ b/renderer/src/html/tests.rs @@ -264,6 +264,31 @@ fn code() { "); } +#[test] +fn raw_html() { + check_renders_to("\ +.. raw:: html + + hello <span>world</span> + <p>paragraph + + paragraph</p> + +after + +.. raw:: something_else + + into a black hole this goes +", "\ +hello <span>world</span> +<p>paragraph + +paragraph</p> + +<p>after</p>\ +"); +} + /* #[test] fn test_field_list() { |
