extern crate micromark; use micromark::{micromark, micromark_with_options, Constructs, Options}; #[test] fn html_flow() { let danger = Options { allow_dangerous_html: true, ..Options::default() }; assert_eq!( micromark(""), "<!-- asd -->", "should support a heading w/ rank 1" ); assert_eq!( micromark_with_options("", &danger), "", "should support a heading w/ rank 1" ); assert_eq!( micromark_with_options( "", &Options { constructs: Constructs { html_flow: false, ..Constructs::default() }, ..Options::default() } ), "

<x>

", "should support turning off html (flow)" ); } #[test] fn html_flow_1_raw() { let danger = Options { allow_dangerous_html: true, ..Options::default() }; assert_eq!( micromark_with_options( "

import Text.HTML.TagSoup

main :: IO ()
main = print $ parseTags tags
okay", &danger ), "

import Text.HTML.TagSoup

main :: IO ()
main = print $ parseTags tags

okay

", "should support raw pre tags (type 1)" ); assert_eq!( micromark_with_options( " okay", &danger ), "

okay

", "should support raw script tags" ); assert_eq!( micromark_with_options( " okay", &danger ), "

okay

", "should support raw style tags" ); assert_eq!( micromark_with_options("\n\nfoo", &danger), "\n\nfoo", "should support raw tags w/o ending" ); assert_eq!( micromark_with_options("\n*foo*", &danger), "\n

foo

", "should support raw tags w/ start and end on a single line" ); assert_eq!( micromark_with_options("1. *bar*", &danger), "1. *bar*", "should support raw tags w/ more data on ending line" ); assert_eq!( micromark_with_options("</script\nmore

", "should not support a raw closing tag" ); assert_eq!( micromark_with_options("", &danger), "", "should support blank lines in raw" ); assert_eq!( micromark_with_options(">