diff --git a/src/export/html.rs b/src/export/html.rs index b85312d..23dee12 100644 --- a/src/export/html.rs +++ b/src/export/html.rs @@ -260,7 +260,7 @@ impl<'a, W: Write, E: From, H: HtmlHandler> HtmlRender<'a, W, E, H> pub fn render(&mut self) -> Result<(), E> { for event in &mut self.parser { - handle_event!(event, &mut self.handler, &mut self.writer); + handle_event!(event, &mut self.handler, self.writer); } Ok(()) diff --git a/src/parser.rs b/src/parser.rs index 670e73b..33331ec 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -637,84 +637,3 @@ impl<'a> Iterator for Parser<'a> { } } } - -#[test] -fn parse() { - use self::Event::*; - - let expected = vec![ - HeadlineBeg(Headline { - level: 1, - priority: None, - keyword: None, - title: "Title 1", - tags: None, - }), - SectionBeg, - ParagraphBeg, - BoldBeg, - Text("Section 1"), - BoldEnd, - ParagraphEnd, - SectionEnd, - HeadlineBeg(Headline { - level: 2, - priority: None, - keyword: None, - title: "Title 2", - tags: None, - }), - SectionBeg, - ParagraphBeg, - UnderlineBeg, - Text("Section 2"), - UnderlineEnd, - ParagraphEnd, - SectionEnd, - HeadlineEnd, - HeadlineEnd, - HeadlineBeg(Headline { - level: 1, - priority: None, - keyword: None, - title: "Title 3", - tags: None, - }), - SectionBeg, - ParagraphBeg, - ItalicBeg, - Text("Section 3"), - ItalicEnd, - ParagraphEnd, - SectionEnd, - HeadlineEnd, - HeadlineBeg(Headline { - level: 1, - priority: None, - keyword: None, - title: "Title 4", - tags: None, - }), - SectionBeg, - ParagraphBeg, - Verbatim("Section 4"), - ParagraphEnd, - SectionEnd, - HeadlineEnd, - ]; - - assert_eq!( - Parser::new( - r#"* Title 1 -*Section 1* -** Title 2 -_Section 2_ -* Title 3 -/Section 3/ -* Title 4 -=Section 4="# - ) - .collect::>(), - expected - ); -} diff --git a/tests/html.rs b/tests/html.rs new file mode 100644 index 0000000..fb2d423 --- /dev/null +++ b/tests/html.rs @@ -0,0 +1,34 @@ +extern crate orgize; + +use orgize::export::HtmlRender; +use std::io::Cursor; + +macro_rules! parse_assert { + ($content:expr, $expected:expr) => {{ + let mut cursor = Cursor::new(Vec::new()); + let mut render = HtmlRender::default(&mut cursor, $content); + render.render().expect("render error"); + let s = String::from_utf8(cursor.into_inner()).expect("invalid utf-8"); + assert_eq!(s, $expected); + }}; +} + +#[test] +fn emphasis() { + parse_assert!( + r#"* Title 1 +*Section 1* +** Title 2 +_Section 2_ +* Title 3 +/Section 3/ +* Title 4 +=Section 4="#, + concat!( + "

Title 1

Section 1

", + "

Title 2

Section 2

", + "

Title 3

Section 3

", + "

Title 4

Section 4

" + ) + ) +}