diff options
Diffstat (limited to 'renderer/src')
| -rw-r--r-- | renderer/src/html.rs | 6 | ||||
| -rw-r--r-- | renderer/src/html/tests.rs | 19 |
2 files changed, 24 insertions, 1 deletions
diff --git a/renderer/src/html.rs b/renderer/src/html.rs index 73b994d..706ec2f 100644 --- a/renderer/src/html.rs +++ b/renderer/src/html.rs @@ -69,7 +69,11 @@ macro_rules! impl_html_render_simple { impl HTMLRender for e::$type { fn render_html<W>(&self, renderer: &mut HTMLRenderer<W>) -> Result<(), Error> where W: Write { let multiple_children = self.children().len() > 1; - write!(renderer.stream, "<{}>", stringify!($tag))?; + write!(renderer.stream, "<{}", stringify!($tag))?; + if self.classes().len() > 0 { + write!(renderer.stream, " class=\"{}\"", self.classes().join(" "))?; + } + write!(renderer.stream, ">")?; if multiple_children { write!(renderer.stream, $post)?; } for c in self.children() { (*c).render_html(renderer)?; diff --git a/renderer/src/html/tests.rs b/renderer/src/html/tests.rs index 8477699..6a0f350 100644 --- a/renderer/src/html/tests.rs +++ b/renderer/src/html/tests.rs @@ -11,6 +11,7 @@ fn check_renders_to(rst: &str, expected: &str) { render_html(&doc, &mut result_data, false).expect("Render error"); let result = String::from_utf8(result_data).expect("Could not decode"); assert_eq!(result.as_str().trim(), expected); + println!("{}", expected); } #[test] @@ -222,6 +223,24 @@ fn test_table() { } */ +#[test] +fn code() { + check_renders_to("\ +.. code:: python + + def foo(): + print('Hi!') + + # comment +", "\ +<pre class=\"python\">def foo(): + print('Hi!') + + # comment +</pre>\ +"); +} + /* #[test] fn test_field_list() { |
