// Tests for HTML spec. extern crate pulldown_cmark_fork; use pulldown_cmark_fork::{Parser, html, Options}; #[test] fn html_test_1() { let original = r##"Little header "##; let expected = r##"

Little header

"##; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } #[test] fn html_test_2() { let original = r##"Little header "##; let expected = r##"

Little header

"##; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } #[test] fn html_test_3() { let original = r##"Little header

Useless

?>"##; let expected = r##"

Little header

Useless

?>"##; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } #[test] fn html_test_4() { let original = r##"Little header "##; let expected = r##"

Little header

"##; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } #[test] fn html_test_5() { let original = r##"Little header

Useless

]]>"##; let expected = r##"

Little header

Useless

]]>"##; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } #[test] fn html_test_6() { let original = r##"Little header "##; let expected = r##"

Little header

"##; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } #[test] fn html_test_7() { let original = r##"Little header ----------- "##; let expected = r##"

Little header

"##; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } #[test] fn html_test_8() { let original = "A | B\n---|---\nfoo | bar"; let expected = r##"
AB
foobar
"##; let mut s = String::new(); let mut opts = Options::empty(); opts.insert(Options::ENABLE_TABLES); html::push_html(&mut s, Parser::new_ext(&original, opts)); assert_eq!(expected, s); } #[test] fn html_test_9() { let original = "---"; let expected = "
\n"; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } #[test] fn html_test_10() { let original = "* * *"; let expected = "
\n"; let mut s = String::new(); html::push_html(&mut s, Parser::new(&original)); assert_eq!(expected, s); } // TODO: add broken link callback feature /* #[test] fn html_test_broken_callback() { let original = r##"[foo], [bar], [baz], [baz]: https://example.org "##; let expected = r##"

foo, [bar], baz,

"##; use pulldown_cmark_fork::{Options, Parser, html}; let mut s = String::new(); let callback = |reference: &str, _normalized: &str| -> Option<(String, String)> { if reference == "foo" || reference == "baz" { Some(("https://replaced.example.org".into(), "some title".into())) } else { None } }; let p = Parser::new_with_broken_link_callback(&original, Options::empty(), Some(&callback)); html::push_html(&mut s, p); assert_eq!(expected, s); } */