diff options
| author | Philipp A | 2019-11-12 22:57:02 +0100 |
|---|---|---|
| committer | Philipp A | 2019-11-12 22:57:02 +0100 |
| commit | 271cb95ec3e12d6f97852491bc723c5060ce4b75 (patch) | |
| tree | 78cb094fb882fd6c56733ff9e4d1a9377713d393 /src/renderer | |
| parent | 18fba4a71eeebf3a2df91a6bcfda7f13e6c3f561 (diff) | |
| download | rust-rst-271cb95ec3e12d6f97852491bc723c5060ce4b75.tar.bz2 | |
Run python tests
Diffstat (limited to 'src/renderer')
| -rw-r--r-- | src/renderer/html.rs | 12 | ||||
| -rw-r--r-- | src/renderer/html_tests.rs | 15 |
2 files changed, 25 insertions, 2 deletions
diff --git a/src/renderer/html.rs b/src/renderer/html.rs index 56e3175..869444f 100644 --- a/src/renderer/html.rs +++ b/src/renderer/html.rs @@ -15,8 +15,16 @@ use crate::document_tree::{ // static FOOTNOTE_SYMBOLS: [char; 10] = ['*', '†', '‡', '§', '¶', '#', '♠', '♥', '♦', '♣']; -pub fn render_html<W>(document: &Document, mut stream: W) -> Result<(), Error> where W: Write { - document.render_html(stream.by_ref()) +pub fn render_html<W>(document: &Document, mut stream: W, standalone: bool) -> Result<(), Error> where W: Write { + if standalone { + document.render_html(stream.by_ref()) + } else { + let stream = stream.by_ref(); + for c in document.children() { + (*c).render_html(stream)?; + } + Ok(()) + } } trait HTMLRender { diff --git a/src/renderer/html_tests.rs b/src/renderer/html_tests.rs new file mode 100644 index 0000000..a91dd80 --- /dev/null +++ b/src/renderer/html_tests.rs @@ -0,0 +1,15 @@ +use pretty_assertions::assert_eq; + +use crate::parser::parse; +use super::html::render_html; + +fn check_renders_to(rst: &str, expected: &str) { + println!("Rendering:\n{}\n---", rst); + let doc = parse(rst).expect("Cannot parse"); + let mut result_data: Vec<u8> = vec![]; + 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); +} + +include!(concat!(env!("OUT_DIR"), "/html_tests.rs")); |
