use orgize::{elements::Title, Headline, Org}; use pretty_assertions::assert_eq; #[test] fn set_content() { let mut org = Org::parse( r#"* title 1 section 1 ** title 2 "#, ); let headlines: Vec<_> = org.headlines().collect(); for mut headline in headlines { headline.set_title_content(String::from("a *bold* title"), &mut org); headline.set_section_content("and a _underline_ section", &mut org); } let mut writer = Vec::new(); org.html(&mut writer).unwrap(); assert_eq!( String::from_utf8(writer).unwrap(), "

a bold title

and a underline section

\

a bold title

and a underline section

" ); } #[test] fn insert() { let org = &mut Org::new(); let mut document = org.document(); let mut h1 = Headline::new( Title { level: 1, raw: "title".into(), ..Default::default() }, org, ); h1.set_section_content("section", org); document.prepend(h1, org).unwrap(); let mut h3 = Headline::new( Title { level: 3, raw: "title".into(), ..Default::default() }, org, ); h3.set_section_content("section", org); document.prepend(h3, org).unwrap(); let mut h2 = Headline::new( Title { level: 2, raw: "title".into(), ..Default::default() }, org, ); h2.set_section_content("section", org); h1.insert_before(h2, org).unwrap(); document.set_section_content("section", org); let mut writer = Vec::new(); org.html(&mut writer).unwrap(); assert_eq!( String::from_utf8(writer).unwrap(), "

section

\

title

section

\

title

section

\

title

section

" ); }