aboutsummaryrefslogtreecommitdiffstats
path: root/renderer/src
diff options
context:
space:
mode:
Diffstat (limited to 'renderer/src')
-rw-r--r--renderer/src/html.rs8
-rw-r--r--renderer/src/html/tests.rs25
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() {