From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- vendor/pulldown-cmark/tests/errors.rs | 131 + vendor/pulldown-cmark/tests/html.rs | 250 + vendor/pulldown-cmark/tests/lib.rs | 421 + vendor/pulldown-cmark/tests/serde.rs | 78 + vendor/pulldown-cmark/tests/suite/footnotes.rs | 165 + .../tests/suite/gfm_strikethrough.rs | 27 + vendor/pulldown-cmark/tests/suite/gfm_table.rs | 205 + vendor/pulldown-cmark/tests/suite/gfm_tasklist.rs | 39 + vendor/pulldown-cmark/tests/suite/heading_attrs.rs | 571 ++ vendor/pulldown-cmark/tests/suite/mod.rs | 14 + vendor/pulldown-cmark/tests/suite/regression.rs | 1021 +++ vendor/pulldown-cmark/tests/suite/smart_punct.rs | 201 + vendor/pulldown-cmark/tests/suite/spec.rs | 8490 ++++++++++++++++++++ vendor/pulldown-cmark/tests/suite/table.rs | 205 + 14 files changed, 11818 insertions(+) create mode 100644 vendor/pulldown-cmark/tests/errors.rs create mode 100644 vendor/pulldown-cmark/tests/html.rs create mode 100644 vendor/pulldown-cmark/tests/lib.rs create mode 100644 vendor/pulldown-cmark/tests/serde.rs create mode 100644 vendor/pulldown-cmark/tests/suite/footnotes.rs create mode 100644 vendor/pulldown-cmark/tests/suite/gfm_strikethrough.rs create mode 100644 vendor/pulldown-cmark/tests/suite/gfm_table.rs create mode 100644 vendor/pulldown-cmark/tests/suite/gfm_tasklist.rs create mode 100644 vendor/pulldown-cmark/tests/suite/heading_attrs.rs create mode 100644 vendor/pulldown-cmark/tests/suite/mod.rs create mode 100644 vendor/pulldown-cmark/tests/suite/regression.rs create mode 100644 vendor/pulldown-cmark/tests/suite/smart_punct.rs create mode 100644 vendor/pulldown-cmark/tests/suite/spec.rs create mode 100644 vendor/pulldown-cmark/tests/suite/table.rs (limited to 'vendor/pulldown-cmark/tests') diff --git a/vendor/pulldown-cmark/tests/errors.rs b/vendor/pulldown-cmark/tests/errors.rs new file mode 100644 index 000000000..cac34798d --- /dev/null +++ b/vendor/pulldown-cmark/tests/errors.rs @@ -0,0 +1,131 @@ +use pulldown_cmark::{Options, Parser}; + +fn parse(md: &str) { + let parser = Parser::new(md); + + for _ in parser {} +} + +fn parse_all_options(md: &str) { + let parser = Parser::new_ext(md, Options::all()); + + for _ in parser {} +} + +#[test] +fn test_lists_inside_code_spans() { + parse( + r"- ` +x +** + * + `", + ); +} + +#[test] +fn test_fuzzer_input_1() { + parse(">\n >>>\n\t[]"); +} + +#[test] +fn test_fuzzer_input_7() { + parse_all_options("[][{]}\n-"); +} + +#[test] +fn test_fuzzer_input_8() { + parse_all_options("a\n \u{c}{}\n-"); +} + +#[test] +fn test_fuzzer_input_9() { + parse_all_options("a\n \u{c}{}\\\n-"); +} + +#[test] +fn test_fuzzer_input_10() { + parse_all_options("[[ \t\n \u{c}\u{c}\u{c}\u{c}\u{c} {}\n-\r\u{e}\u{0}\u{0}{# }\n\u{b}\u{b}\u{b}\u{b}\u{b}\u{b}\u{b}\u{b}\u{b}\u{b}\u{0}\u{0}"); +} + +#[test] +fn test_fuzzer_input_11() { + parse_all_options( + "[[\u{c}\u{c} \t\n \u{c}\u{c}\u{c}\u{c}\u{c}\u{c}\u{c}\u{c}\u{c} {}\n-\r\u{e}", + ); +} + +#[test] +fn test_fuzzer_input_12() { + parse_all_options("\u{c}-\n\u{c}\n-"); +} + +#[test] +fn test_wrong_code_block() { + parse( + r##"``` + * ``` + "##, + ); +} + +#[test] +fn test_unterminated_link() { + parse("[](\\"); +} + +#[test] +fn test_unterminated_autolink() { + parse("") +} diff --git a/vendor/pulldown-cmark/tests/html.rs b/vendor/pulldown-cmark/tests/html.rs new file mode 100644 index 000000000..37dab21ea --- /dev/null +++ b/vendor/pulldown-cmark/tests/html.rs @@ -0,0 +1,250 @@ +// Tests for HTML spec. + +use pulldown_cmark::{html, BrokenLink, Options, Parser}; + +#[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); +} + +#[test] +fn html_test_11() { + let original = "hi ~~no~~"; + let expected = "

hi ~~no~~

\n"; + + let mut s = String::new(); + html::push_html(&mut s, Parser::new(&original)); + assert_eq!(expected, s); +} + +#[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::{html, Options, Parser}; + + let mut s = String::new(); + + let mut callback = |broken_link: BrokenLink| { + if &*broken_link.reference == "foo" || &*broken_link.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(&mut callback)); + html::push_html(&mut s, p); + + assert_eq!(expected, s); +} diff --git a/vendor/pulldown-cmark/tests/lib.rs b/vendor/pulldown-cmark/tests/lib.rs new file mode 100644 index 000000000..45bf7f719 --- /dev/null +++ b/vendor/pulldown-cmark/tests/lib.rs @@ -0,0 +1,421 @@ +use html5ever::serialize::{serialize, SerializeOpts}; +use html5ever::{driver as html, local_name, namespace_url, ns, QualName}; +use markup5ever_rcdom::{Handle, NodeData, RcDom, SerializableHandle}; +use pulldown_cmark::{Options, Parser}; + +use regex::Regex; +use std::collections::HashSet; +use std::mem; +use std::rc::{Rc, Weak}; +use tendril::stream::TendrilSink; + +mod suite; + +#[inline(never)] +pub fn test_markdown_html(input: &str, output: &str, smart_punct: bool) { + let mut s = String::new(); + + let mut opts = Options::empty(); + opts.insert(Options::ENABLE_TABLES); + opts.insert(Options::ENABLE_FOOTNOTES); + opts.insert(Options::ENABLE_STRIKETHROUGH); + opts.insert(Options::ENABLE_TASKLISTS); + if smart_punct { + opts.insert(Options::ENABLE_SMART_PUNCTUATION); + } + opts.insert(Options::ENABLE_HEADING_ATTRIBUTES); + + let p = Parser::new_ext(input, opts); + pulldown_cmark::html::push_html(&mut s, p); + + assert_eq!(normalize_html(output), normalize_html(&s)); +} + +lazy_static::lazy_static! { + static ref WHITESPACE_RE: Regex = Regex::new(r"\s+").unwrap(); + static ref LEADING_WHITESPACE_RE: Regex = Regex::new(r"\A\s+").unwrap(); + static ref TRAILING_WHITESPACE_RE: Regex = Regex::new(r"\s+\z").unwrap(); + static ref BLOCK_TAGS: HashSet<&'static str> = [ + "article", + "header", + "aside", + "hgroup", + "blockquote", + "hr", + "iframe", + "body", + "li", + "map", + "button", + "object", + "canvas", + "ol", + "caption", + "output", + "col", + "p", + "colgroup", + "pre", + "dd", + "progress", + "div", + "section", + "dl", + "table", + "td", + "dt", + "tbody", + "embed", + "textarea", + "fieldset", + "tfoot", + "figcaption", + "th", + "figure", + "thead", + "footer", + "tr", + "form", + "ul", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "video", + "script", + "style" + ] + .iter() + .cloned() + .collect(); + static ref WHITESPACE_SENSITIVE_TAGS: HashSet<&'static str> = + ["pre", "code", "h1", "h2", "h3", "h4", "h5", "h6"] + .iter() + .cloned() + .collect(); + static ref TABLE_TAGS: HashSet<&'static str> = ["table", "thead", "tbody", "tr", "td"] + .iter() + .cloned() + .collect(); +} + +fn make_html_parser() -> html::Parser { + html::parse_fragment( + RcDom::default(), + html::ParseOpts::default(), + QualName::new(None, ns!(html), local_name!("div")), + vec![], + ) +} + +fn normalize_html(s: &str) -> String { + let parser = make_html_parser(); + let dom = parser.one(s); + let body: SerializableHandle = normalize_dom(&dom).into(); + let opts = SerializeOpts::default(); + let mut ret_val = Vec::new(); + serialize(&mut ret_val, &body, opts) + .expect("Writing to a string shouldn't fail (expect on OOM)"); + String::from_utf8(ret_val).expect("html5ever should always produce UTF8") +} + +fn normalize_dom(dom: &RcDom) -> Handle { + let body = { + let children = dom.document.children.borrow(); + children[0].clone() + }; + let mut current_level = Vec::new(); + let mut next_level = Vec::new(); + current_level.extend(body.children.borrow().iter().cloned().rev()); + loop { + while let Some(mut node) = current_level.pop() { + let parent = node.parent.replace(None); + node.parent.replace(parent.clone()); + let parent = parent + .expect("a node in the DOM will have a parent, except the root, which is not processed") + .upgrade().expect("a node's parent will be pointed to by its parent (or the root pointer), and will not be dropped"); + let retain = normalize_node(&parent, &mut node); + if !retain { + let mut siblings = parent.children.borrow_mut(); + siblings.retain(|s| !Rc::ptr_eq(&node, s)); + } else { + next_level.extend(node.children.borrow().iter().cloned().rev()); + } + } + if next_level.is_empty() { + break; + }; + mem::swap(&mut next_level, &mut current_level); + } + body +} + +// Returns false if node is an empty text node or an empty tbody. +// Returns true otherwise. +fn normalize_node(parent: &Handle, node: &mut Handle) -> bool { + match node.data { + NodeData::Comment { .. } + | NodeData::Doctype { .. } + | NodeData::Document + | NodeData::ProcessingInstruction { .. } => true, + NodeData::Text { ref contents, .. } => { + let mut contents = contents.borrow_mut(); + let is_pre = { + let mut parent = parent.clone(); + loop { + let is_pre = if let NodeData::Element { ref name, .. } = parent.data { + WHITESPACE_SENSITIVE_TAGS.contains(&&*name.local.to_ascii_lowercase()) + } else { + false + }; + if is_pre { + break true; + }; + let parent_ = parent.parent.replace(None); + parent.parent.replace(parent_.clone()); + let parent_ = parent_.as_ref().and_then(Weak::upgrade); + if let Some(parent_) = parent_ { + parent = parent_ + } else { + break false; + }; + } + }; + if !is_pre { + let (is_first_in_block, is_last_in_block) = { + let mut is_first_in_block = true; + let mut is_last_in_block = true; + let mut parent = parent.clone(); + let mut node = node.clone(); + loop { + let reached_block = if let NodeData::Element { ref name, .. } = parent.data + { + BLOCK_TAGS.contains(&&*name.local.to_ascii_lowercase()) + } else { + false + }; + let (is_first, is_last) = { + let siblings = parent.children.borrow(); + let n = &node; + ( + siblings.get(0).map(|s| Rc::ptr_eq(s, n)).unwrap_or(false), + siblings.len() > 0 + && siblings + .get(siblings.len() - 1) + .map(|s| Rc::ptr_eq(s, n)) + .unwrap_or(false), + ) + }; + is_first_in_block = is_first_in_block && is_first; + is_last_in_block = is_last_in_block && is_last; + if (is_first_in_block || is_last_in_block) && !reached_block { + node = parent.clone(); + let parent_ = parent.parent.replace(None); + parent.parent.replace(parent_.clone()); + let parent_ = parent_.as_ref().and_then(Weak::upgrade); + if let Some(parent_) = parent_ { + parent = parent_; + } else { + break (is_first_in_block, is_last_in_block); + } + } else { + break (is_first_in_block, is_last_in_block); + } + } + }; + let is_preceeded_by_ws = { + let mut parent = parent.clone(); + let mut node = node.clone(); + 'ascent: loop { + let is_first = { + let siblings = parent.children.borrow(); + let n = &node; + siblings.get(0).map(|s| Rc::ptr_eq(s, n)).unwrap_or(false) + }; + if is_first { + node = parent.clone(); + let parent_ = parent.parent.replace(None); + parent.parent.replace(parent_.clone()); + let parent_ = parent_.as_ref().and_then(Weak::upgrade); + if let Some(parent_) = parent_ { + parent = parent_; + } else { + break 'ascent false; + } + } else { + let siblings = parent.children.borrow(); + let n = &node; + let mut pos = !0; + 'search: for (i, s) in siblings.iter().enumerate() { + if Rc::ptr_eq(s, n) { + pos = i; + break 'search; + } + } + assert!( + pos != !0, + "The list of node's parent's children shall contain node" + ); + assert!( + pos != 0, + "If node is not first, then node's position shall not be zero" + ); + let mut preceding = siblings[pos - 1].clone(); + 'descent: loop { + if let NodeData::Text { .. } = preceding.data { + break 'descent; + } + preceding = { + let ch = preceding.children.borrow(); + if ch.len() == 0 { + break 'descent; + } + if let Some(preceeding_) = ch.get(ch.len() - 1) { + preceeding_.clone() + } else { + break 'descent; + } + }; + } + if let NodeData::Text { ref contents, .. } = preceding.data { + break 'ascent TRAILING_WHITESPACE_RE.is_match(&*contents.borrow()); + } else { + break 'ascent false; + } + } + } + }; + + let is_in_table = if let NodeData::Element { ref name, .. } = parent.data { + TABLE_TAGS.contains(&&*name.local.to_ascii_lowercase()) + } else { + false + }; + let whitespace_replacement = if is_in_table { "" } else { " " }; + *contents = WHITESPACE_RE + .replace_all(&*contents, whitespace_replacement) + .as_ref() + .into(); + + if is_first_in_block || is_preceeded_by_ws { + *contents = LEADING_WHITESPACE_RE + .replace_all(&*contents, "") + .as_ref() + .into(); + } + if is_last_in_block { + *contents = TRAILING_WHITESPACE_RE + .replace_all(&*contents, "") + .as_ref() + .into(); + } + // TODO: collapse whitespace when adjacent to whitespace. + // For example, the whitespace in the span should be collapsed in all of these cases: + // + // " q " + // "q q" + // "q q" + // "q q" + // "q q" + } + &**contents != "" + } + NodeData::Element { + ref attrs, + ref name, + .. + } => { + let mut attrs = attrs.borrow_mut(); + for a in attrs.iter_mut() { + a.name.local = a.name.local.to_ascii_lowercase().into(); + } + attrs.sort_by(|a: &html5ever::Attribute, b: &html5ever::Attribute| { + (&*a.name.local).cmp(&*b.name.local) + }); + let ascii_name = &*name.local.to_ascii_lowercase(); + // drop empty tbody's + ascii_name != "tbody" + || node.children.borrow().len() > 1 + || node + .children + .borrow() + .iter() + .next() + .map(|only_child| match only_child.data { + NodeData::Text { ref contents, .. } => { + !contents.borrow().chars().all(|c| c.is_whitespace()) + } + _ => true, + }) + .unwrap_or(false) + } + } +} + +#[test] +fn strip_div_newline() { + assert_eq!("
", normalize_html("
\n
")); +} + +#[test] +fn strip_end_newline() { + assert_eq!("test", normalize_html("test\n")); +} + +#[test] +fn strip_double_space() { + assert_eq!("test mess", normalize_html("test mess")); +} + +#[test] +fn strip_inline_internal_text() { + assert_eq!( + "a b c", + normalize_html(" a b c ") + ) +} + +#[test] +fn strip_inline_block_internal_text() { + assert_eq!( + "a b c", + normalize_html(" a b c ") + ) +} + +#[test] +fn leaves_necessary_whitespace_alone() { + assert_eq!("a b c", normalize_html("a b c")) +} + +#[test] +fn leaves_necessary_whitespace_alone_weird() { + assert_eq!( + "a b c", + normalize_html(" a b c") + ) +} + +#[test] +fn leaves_necessary_whitespace_all_nested() { + assert_eq!( + "", + normalize_html(" ") + ) +} + +#[test] +fn drops_empty_tbody() { + assert_eq!( + "
hi
", + normalize_html("
hi
") + ) +} + +#[test] +fn leaves_nonempty_tbody() { + let input = "
hi
"; + assert_eq!(input, normalize_html(input)) +} diff --git a/vendor/pulldown-cmark/tests/serde.rs b/vendor/pulldown-cmark/tests/serde.rs new file mode 100644 index 000000000..7098bfbe8 --- /dev/null +++ b/vendor/pulldown-cmark/tests/serde.rs @@ -0,0 +1,78 @@ +#[cfg(feature = "serde")] +mod tests { + use std::convert::TryInto; + + use pulldown_cmark::CowStr; + + #[test] + fn cow_str_to_str_round_trip_bincode() { + for i in &[ + CowStr::Borrowed("dssa"), + CowStr::Borrowed(""), + CowStr::Boxed("hello".to_owned().into_boxed_str()), + CowStr::Boxed("".to_owned().into_boxed_str()), + CowStr::Inlined("inline".try_into().unwrap()), + CowStr::Inlined("".try_into().unwrap()), + ] { + let encoded = bincode::serialize(i).unwrap(); + let decoded1: CowStr = bincode::deserialize(&encoded).unwrap(); + let decoded2: String = bincode::deserialize(&encoded).unwrap(); + let decoded3: &str = bincode::deserialize(&encoded).unwrap(); + + assert_eq!(&decoded1, i); + assert_eq!(decoded2, i.as_ref()); + assert_eq!(decoded3, i.as_ref()); + } + } + + #[test] + fn cow_str_to_str_round_trip_json() { + for i in &[ + CowStr::Borrowed("dssa"), + CowStr::Borrowed(""), + CowStr::Boxed("hello".to_owned().into_boxed_str()), + CowStr::Boxed("".to_owned().into_boxed_str()), + CowStr::Inlined("inline".try_into().unwrap()), + CowStr::Inlined("".try_into().unwrap()), + ] { + let encoded = serde_json::to_string(i).unwrap(); + let decoded1: CowStr = serde_json::from_str(&encoded).unwrap(); + let decoded2: String = serde_json::from_str(&encoded).unwrap(); + let decoded3: &str = serde_json::from_str(&encoded).unwrap(); + + assert_eq!(&decoded1, i); + assert_eq!(decoded2, i.as_ref()); + assert_eq!(decoded3, i.as_ref()); + } + } + + #[test] + fn str_to_cow_str_json() { + let str = "a borrowed str"; + let string = "a owned str".to_owned(); + + let encoded_str = serde_json::to_string(&str).unwrap(); + let encoded_string = serde_json::to_string(&string).unwrap(); + + let decoded_str: CowStr = serde_json::from_str(&encoded_str).unwrap(); + let decoded_string: CowStr = serde_json::from_str(&encoded_string).unwrap(); + + assert_eq!(decoded_str.as_ref(), str); + assert_eq!(decoded_string.as_ref(), string); + } + + #[test] + fn str_to_cow_str_bincode() { + let str = "a borrowed str"; + let string = "a owned str".to_owned(); + + let encoded_str = bincode::serialize(&str).unwrap(); + let encoded_string = bincode::serialize(&string).unwrap(); + + let decoded_str: CowStr = bincode::deserialize(&encoded_str).unwrap(); + let decoded_string: CowStr = bincode::deserialize(&encoded_string).unwrap(); + + assert_eq!(decoded_str.as_ref(), str); + assert_eq!(decoded_string.as_ref(), string); + } +} diff --git a/vendor/pulldown-cmark/tests/suite/footnotes.rs b/vendor/pulldown-cmark/tests/suite/footnotes.rs new file mode 100644 index 000000000..5e5c49bb7 --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/footnotes.rs @@ -0,0 +1,165 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn footnotes_test_1() { + let original = r##"Lorem ipsum.[^a] + +[^a]: Cool. +"##; + let expected = r##"

Lorem ipsum.1

+
1 +

Cool.

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn footnotes_test_2() { + let original = r##"> This is the song that never ends.\ +> Yes it goes on and on my friends.[^lambchops] +> +> [^lambchops]: +"##; + let expected = r##"
+

This is the song that never ends.
+Yes it goes on and on my friends.1

+ +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn footnotes_test_3() { + let original = r##"Songs that simply loop are a popular way to annoy people. [^examples] + +[^examples]: + * [The song that never ends](https://www.youtube.com/watch?v=0U2zJOryHKQ) + * [I know a song that gets on everybody's nerves](https://www.youtube.com/watch?v=TehWI09qxls) + * [Ninety-nine bottles of beer on the wall](https://www.youtube.com/watch?v=qVjCag8XoHQ) +"##; + let expected = r##"

Songs that simply loop are a popular way to annoy people. 1

+ +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn footnotes_test_4() { + let original = r##"[^lorem]: If heaven ever wishes to grant me a boon, it will be a total effacing of the results of a mere chance which fixed my eye on a certain stray piece of shelf-paper. It was nothing on which I would naturally have stumbled in the course of my daily round, for it was an old number of an Australian journal, the Sydney Bulletin for April 18, 1925. It had escaped even the cutting bureau which had at the time of its issuance been avidly collecting material for my uncle's research. + +I had largely given over my inquiries into what Professor Angell called the "Cthulhu Cult", and was visiting a learned friend in Paterson, New Jersey; the curator of a local museum and a mineralogist of note. Examining one day the reserve specimens roughly set on the storage shelves in a rear room of the museum, my eye was caught by an odd picture in one of the old papers spread beneath the stones. It was the Sydney Bulletin I have mentioned, for my friend had wide affiliations in all conceivable foreign parts; and the picture was a half-tone cut of a hideous stone image almost identical with that which Legrasse had found in the swamp. +"##; + let expected = r##"
1 +

If heaven ever wishes to grant me a boon, it will be a total effacing of the results of a mere chance which fixed my eye on a certain stray piece of shelf-paper. It was nothing on which I would naturally have stumbled in the course of my daily round, for it was an old number of an Australian journal, the Sydney Bulletin for April 18, 1925. It had escaped even the cutting bureau which had at the time of its issuance been avidly collecting material for my uncle's research.

+
+

I had largely given over my inquiries into what Professor Angell called the "Cthulhu Cult", and was visiting a learned friend in Paterson, New Jersey; the curator of a local museum and a mineralogist of note. Examining one day the reserve specimens roughly set on the storage shelves in a rear room of the museum, my eye was caught by an odd picture in one of the old papers spread beneath the stones. It was the Sydney Bulletin I have mentioned, for my friend had wide affiliations in all conceivable foreign parts; and the picture was a half-tone cut of a hideous stone image almost identical with that which Legrasse had found in the swamp.

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn footnotes_test_5() { + let original = r##"[^ipsum]: How much wood would a woodchuck chuck. + +If a woodchuck could chuck wood. + + +# Forms of entertainment that aren't childish +"##; + let expected = r##"
1 +

How much wood would a woodchuck chuck.

+
+

If a woodchuck could chuck wood.

+

Forms of entertainment that aren't childish

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn footnotes_test_6() { + let original = r##"> He's also really stupid. [^why] +> +> [^why]: Because your mamma! + +As such, we can guarantee that the non-childish forms of entertainment are probably more entertaining to adults, since, having had a whole childhood doing the childish ones, the non-childish ones are merely the ones that haven't gotten boring yet. +"##; + let expected = r##"
+

He's also really stupid. 1

+
1 +

Because your mamma!

+
+
+

As such, we can guarantee that the non-childish forms of entertainment are probably more entertaining to adults, since, having had a whole childhood doing the childish ones, the non-childish ones are merely the ones that haven't gotten boring yet.

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn footnotes_test_7() { + let original = r##"Nested footnotes are considered poor style. [^a] [^xkcd] + +[^a]: This does not mean that footnotes cannot reference each other. [^b] + +[^b]: This means that a footnote definition cannot be directly inside another footnote definition. +> This means that a footnote cannot be directly inside another footnote's body. [^e] +> +> [^e]: They can, however, be inside anything else. + +[^xkcd]: [The other kind of nested footnote is, however, considered poor style.](https://xkcd.com/1208/) +"##; + let expected = r##"

Nested footnotes are considered poor style. 1 2

+
1 +

This does not mean that footnotes cannot reference each other. 3

+
+
3 +

This means that a footnote definition cannot be directly inside another footnote definition.

+
+

This means that a footnote cannot be directly inside another footnote's body. 4

+
4 +

They can, however, be inside anything else.

+
+
+
+ +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn footnotes_test_8() { + let original = r##"[^Doh] Ray Me Fa So La Te Do! [^1] + +[^Doh]: I know. Wrong Doe. And it won't render right. +[^1]: Common for people practicing music. +"##; + let expected = r##"

1 Ray Me Fa So La Te Do! 2

+
1 +

I know. Wrong Doe. And it won't render right. +2: Common for people practicing music.

+
+"##; + + test_markdown_html(original, expected, false); +} diff --git a/vendor/pulldown-cmark/tests/suite/gfm_strikethrough.rs b/vendor/pulldown-cmark/tests/suite/gfm_strikethrough.rs new file mode 100644 index 000000000..92413c306 --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/gfm_strikethrough.rs @@ -0,0 +1,27 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn gfm_strikethrough_test_1() { + let original = r##"~~Hi~~ Hello, world! +"##; + let expected = r##"

Hi Hello, world!

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_strikethrough_test_2() { + let original = r##"This ~~has a + +new paragraph~~. +"##; + let expected = r##"

This ~~has a

+

new paragraph~~.

+"##; + + test_markdown_html(original, expected, false); +} diff --git a/vendor/pulldown-cmark/tests/suite/gfm_table.rs b/vendor/pulldown-cmark/tests/suite/gfm_table.rs new file mode 100644 index 000000000..90743e8ea --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/gfm_table.rs @@ -0,0 +1,205 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn gfm_table_test_1() { + let original = r##"| foo | bar | +| --- | --- | +| baz | bim | +"##; + let expected = r##" + + + + + + + + + + + + +
foobar
bazbim
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_table_test_2() { + let original = r##"| abc | defghi | +:-: | -----------: +bar | baz +"##; + let expected = r##" + + + + + + + + + + + + +
abcdefghi
barbaz
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_table_test_3() { + let original = r##"| f\|oo | +| ------ | +| b `\|` az | +| b **\|** im | +"##; + let expected = r##" + + + + + + + + + + + + + +
f|oo
b \| az
b | im
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_table_test_4() { + let original = r##"| abc | def | +| --- | --- | +| bar | baz | +> bar +"##; + let expected = r##" + + + + + + + + + + + + +
abcdef
barbaz
+
+

bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_table_test_5() { + let original = r##"| abc | def | +| --- | --- | +| bar | baz | +bar + +bar +"##; + let expected = r##" + + + + + + + + + + + + + + + + +
abcdef
barbaz
bar
+

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_table_test_6() { + let original = r##"| abc | def | +| --- | +| bar | +"##; + let expected = r##"

| abc | def | +| --- | +| bar |

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_table_test_7() { + let original = r##"| abc | def | +| --- | --- | +| bar | +| bar | baz | boo | +"##; + let expected = r##" + + + + + + + + + + + + + + + + +
abcdef
bar
barbaz
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_table_test_8() { + let original = r##"| abc | def | +| --- | --- | +"##; + let expected = r##" + + + + + + +
abcdef
+"##; + + test_markdown_html(original, expected, false); +} diff --git a/vendor/pulldown-cmark/tests/suite/gfm_tasklist.rs b/vendor/pulldown-cmark/tests/suite/gfm_tasklist.rs new file mode 100644 index 000000000..2962d545b --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/gfm_tasklist.rs @@ -0,0 +1,39 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn gfm_tasklist_test_1() { + let original = r##"- [ ] foo +- [x] bar +"##; + let expected = r##"
    +
  • foo
  • +
  • bar
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn gfm_tasklist_test_2() { + let original = r##"- [x] foo + - [ ] bar + - [x] baz +- [ ] bim +"##; + let expected = r##"
    +
  • foo +
      +
    • bar
    • +
    • baz
    • +
    +
  • +
  • bim
  • +
+"##; + + test_markdown_html(original, expected, false); +} diff --git a/vendor/pulldown-cmark/tests/suite/heading_attrs.rs b/vendor/pulldown-cmark/tests/suite/heading_attrs.rs new file mode 100644 index 000000000..e54489e2b --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/heading_attrs.rs @@ -0,0 +1,571 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn heading_attrs_test_1() { + let original = r##"with the ID {#myh1} +=================== +with a class {.myclass} +------------ +multiple! {.myclass1 #myh3 .myclass2} +-- +"##; + let expected = r##"

with the ID

+

with a class

+

multiple!

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_2() { + let original = r##"# with the ID {#myh1} +## with a class {.myclass} +### multiple! {.myclass1 #myh3 .myclass2} +"##; + let expected = r##"

with the ID

+

with a class

+

multiple!

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_3() { + let original = r##"# H1 # {#id1} +## H2 ## with ## multiple ## hashes ## {#id2} +### with trailing hash # ### {#id3} + +#### non-attribute-block {#id4} #### +"##; + let expected = r##"

H1

+

H2 ## with ## multiple ## hashes

+

with trailing hash #

+

non-attribute-block {#id4}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_4() { + let original = r##"# spaces {#myid1} +## tabs {#myid2} +"##; + let expected = r##"

spaces

+

tabs

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_5() { + let original = r##"# H1 \ +nextline +"##; + let expected = r##"

H1 \

+

nextline

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_6() { + let original = r##"# H1 \ +{#myid} + +## H2 \ +nextline {.class} + +### H3 [link +](https://example.com/) {#myid3} +"##; + let expected = r##"

H1 \

+

{#myid}

+

H2 \

+

nextline {.class}

+

H3 [link

+

](https://example.com/) {#myid3}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_7() { + let original = r##"H1 +cont +{#myid} +== +"##; + let expected = r##"

H1 +cont +

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_8() { + let original = r##"H1 +{ + .class1 + .class2 +} +== +"##; + let expected = r##"

H1 +{ +.class1 +.class2 +}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_9() { + let original = r##"# without space, not recommended{#id1} +## recommended style with spaces {#id2} +"##; + let expected = r##"

without space, not recommended

+

recommended style with spaces

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_10() { + let original = r##"# H1 { #id1 } +## H2 {.myclass #id2 } +### H3 { .myclass} +"##; + let expected = r##"

H1

+

H2

+

H3

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_11() { + let original = r##"# H1 {#id1.class1.class2 .class3} +## H2 {.class1#id2.class2} +"##; + let expected = r##"

H1

+

H2

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_12() { + let original = r##"# H1 { #id1 +## H2 {#id2 +"##; + let expected = r##"

H1 { #id1

+

H2 {#id2

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_13() { + let original = r##"# H1 #id1 } +## H2 #id2} +"##; + let expected = r##"

H1 #id1 }

+

H2 #id2}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_14() { + let original = r##"# H1 { #id1 } foo +## H2 {#id2} +"##; + let expected = r##"

H1 { #id1 } foo

+

H2 {#id2}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_15() { + let original = r##"# *H1* { #id1 } +## **H2** {#id2} +### _H3_ {#id3} +#### ~~H4~~ {#id4} +##### [text](uri) {#id5} +"##; + let expected = r##"

H1

+

H2

+

H3

+

H4

+
text
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_16() { + let original = r##"# H1 {#first #second #last} +"##; + let expected = r##"

H1

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_17() { + let original = r##"# H1 {.z .a .zz} +"##; + let expected = r##"

H1

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_18() { + let original = r##"# H1 {.a .a .a} +"##; + let expected = r##"

H1

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_19() { + let original = r##"# H1 {.myclass #myid} +## H2 {.z #m .a} +"##; + let expected = r##"

H1

+

H2

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_20() { + let original = r##"# H1 {foo} +## H2 {#myid unknown this#is.ignored attr=value .myclass} +"##; + let expected = r##"

H1

+

H2

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_21() { + let original = r##"# H1 {.foo{unknown} +## H2 {.foo{.bar} +"##; + let expected = r##"

H1 {.foo

+

H2 {.foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_22() { + let original = r##"# H1 {.foo}bar} +"##; + let expected = r##"

H1 {.foo}bar}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_23() { + let original = r##"# H1 {foo} +"##; + let expected = r##"

H1 {foo}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_24() { + let original = r##"# H1 {.foo\} +"##; + let expected = r##"

H1 {.foo}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_25() { + let original = r##"H1 {.foo +.bar} +== +"##; + let expected = r##"

H1 {.foo +.bar}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_26() { + let original = r##"H1 {} {} +===== + +## H2 {} {} +"##; + let expected = r##"

H1 {}

+

H2 {}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_27() { + let original = r##"## H2 {} ## +"##; + let expected = r##"

H2 {}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_28() { + let original = r##"# H1 {\} +## this is also ok \{\} + +newline can be used for setext heading { +} +-- +"##; + let expected = r##"

H1 {}

+

this is also ok {}

+

newline can be used for setext heading { +}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_29() { + let original = r##"# H1 \{.foo} +## H2 \\{.bar} +### stray backslash at the end is preserved \ +"##; + let expected = r##"

H1 \

+

H2 \

+

stray backslash at the end is preserved \

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_30() { + let original = r##"H1 \{.foo} +== +H2 \\{.bar} +-- + +stray backslash at the end is preserved \ +-- +"##; + let expected = r##"

H1 \

+

H2 \

+

stray backslash at the end is preserved \

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_31() { + let original = r##"# H1 {#`code`} +## H2 {#foo__bar__baz} +### H3 {#foo**bar**baz} +"##; + let expected = r##"

H1

+

H2

+

H3

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_32() { + let original = r##"H1 {#`code`} +== + +H2-1 {#foo__bar__baz} +---- + +H2-2 {#foo**bar**baz} +-- +"##; + let expected = r##"

H1

+

H2-1

+

H2-2

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_33() { + let original = r##"# H1 {.foo#bar} +## H2 {#foo.bar} +### H3 {.a"b'c&d} +"##; + let expected = r##"

H1

+

H2

+

H3

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_34() { + let original = r##"# H1 {#} +## H2 {.} +"##; + let expected = r##"

H1

+

H2

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_35() { + let original = r##"# H1 {#foo #} +# H1 {.foo . . .bar} +"##; + let expected = r##"

H1

+

H1

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_36() { + let original = r##"# {} +## {} +### {\} +#### {} {} + +#{} +"##; + let expected = r##"

+

+

{}

+

{}

+

#{}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_37() { + let original = r##"{} +== + +\{} +-- + +\ +-- + +{\} +== + +{}{} +-- +"##; + let expected = r##"

+

\

+

\

+

{}

+

{}

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_38() { + let original = r##"# horizontal tab +# horizontal tab {#ht} +## form feed +## form feed {#ff} +### vertical tab +### vertical tab {#vt} +"##; + let expected = r##"

horizontal tab

+

horizontal tab

+

form feed

+

form feed

+

vertical tab

+

vertical tab

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_39() { + let original = r##"# horizontal tab (U+000A) {#ht .myclass} +## form feed (U+000C) {#ff .myclass} + +# vertical tab (U+000B) {#vt .myclass} +"##; + let expected = r##"

horizontal tab (U+000A)

+

form feed (U+000C)

+

vertical tab (U+000B)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn heading_attrs_test_40() { + let original = r##"# EN SPACE (U+2002) {#en-space .myclass} +## IDEOGRAPHIC SPACE (U+3000) {#ideographic-space .myclass} +"##; + let expected = r##"

EN SPACE (U+2002)

+

IDEOGRAPHIC SPACE (U+3000)

+"##; + + test_markdown_html(original, expected, false); +} diff --git a/vendor/pulldown-cmark/tests/suite/mod.rs b/vendor/pulldown-cmark/tests/suite/mod.rs new file mode 100644 index 000000000..3afa3ba83 --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/mod.rs @@ -0,0 +1,14 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +pub use super::test_markdown_html; + +mod footnotes; +mod gfm_strikethrough; +mod gfm_table; +mod gfm_tasklist; +mod heading_attrs; +mod regression; +mod smart_punct; +mod spec; +mod table; diff --git a/vendor/pulldown-cmark/tests/suite/regression.rs b/vendor/pulldown-cmark/tests/suite/regression.rs new file mode 100644 index 000000000..b3457e7be --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/regression.rs @@ -0,0 +1,1021 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn regression_test_1() { + let original = r##"
Testing 1..2..3.. + +This is a test of the details element. + +
+"##; + let expected = r##"
Testing 1..2..3.. +

This is a test of the details element.

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_2() { + let original = r##"see the [many] [articles] [on] [QuickCheck]. + +[many]: https://medium.com/@jlouis666/quickcheck-advice-c357efb4e7e6 +[articles]: http://www.quviq.com/products/erlang-quickcheck/ +[on]: https://wiki.haskell.org/Introduction_to_QuickCheck1 +[QuickCheck]: https://hackage.haskell.org/package/QuickCheck +"##; + let expected = r##"

see the + many + articles + on + QuickCheck. +

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_3() { + let original = r##"[![debug-stub-derive on crates.io][cratesio-image]][cratesio] +[![debug-stub-derive on docs.rs][docsrs-image]][docsrs] + +[cratesio-image]: https://img.shields.io/crates/v/debug_stub_derive.svg +[cratesio]: https://crates.io/crates/debug_stub_derive +[docsrs-image]: https://docs.rs/debug_stub_derive/badge.svg?version=0.3.0 +[docsrs]: https://docs.rs/debug_stub_derive/0.3.0/ +"##; + let expected = r##"

debug-stub-derive on crates.io +debug-stub-derive on docs.rs

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_4() { + let original = r##"| Title A | Title B | +| --------- | --------- | +| Content | Content | + +| Title A | Title B | Title C | Title D | +| --------- | --------- | --------- | ---------:| +| Content | Content | Conent | Content | +"##; + let expected = r##" + +
Title A Title B
Content Content
+ + +
Title A Title B Title C Title D
Content Content Conent Content
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_5() { + let original = r##"foo§__(bar)__ +"##; + let expected = r##"

foo§(bar)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_6() { + let original = r##" hello +"##; + let expected = r##"

https://example.com hello

+ +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_7() { + let original = r##"[foo][bar] + + +[bar]: a +"##; + let expected = r##"

foo

+ +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_8() { + let original = r##" +- **foo** (u8, u8) + + make something + +- **bar** (u16, u16) + + make something +"##; + let expected = r##" +
    +
  • +

    foo (u8, u8)

    +

    make something

    +
  • +
  • +

    bar (u16, u16)

    +

    make something

    +
  • +
+ +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_9() { + let original = r##"[` +i8 +`]( +../../../std/primitive.i8.html +) +"##; + let expected = r##"

i8

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_10() { + let original = r##"[a] + +[a]: /url (title\\*) +"##; + let expected = r##"

a

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_11() { + let original = r##"[a] + +[a]: /url (title\)) +"##; + let expected = r##"

a

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_12() { + let original = r##"[a] + +[a]: /url (title)) +"##; + let expected = r##"

[a]

+

[a]: /url (title))

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_13() { + let original = r##"a +"##; + let expected = r##"

a <?php this is not a valid processing tag

+

b

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_14() { + let original = r##"[a]: u\ +foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_15() { + let original = r##"\`foo` +"##; + let expected = r##"

`foo`

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_16() { + let original = r##"foo\\ +bar +"##; + let expected = r##"

foo\ +bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_17() { + let original = r##"1\. foo + +1\) bar +"##; + let expected = r##"

1. foo

+

1) bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_18() { + let original = r##"1... + +1.2.3. + +1 2 3 . + +1.|2.-3. + +1)2)3) +"##; + let expected = r##"

1...

+

1.2.3.

+

1 2 3 .

+

1.|2.-3.

+

1)2)3)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_19() { + let original = r##"[](<<>) +"##; + let expected = r##"

[](<<>)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_20() { + let original = r##"\``foo``bar` +"##; + let expected = r##"

`foo``bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_21() { + let original = r##"\\`foo` +"##; + let expected = r##"

\foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_22() { + let original = r##"[\\]: x + +YOLO +"##; + let expected = r##"

YOLO

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_23() { + let original = r##"lorem ipsum +A | B +---|--- +foo | bar +"##; + let expected = r##"

lorem ipsum +A | B +---|--- +foo | bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_24() { + let original = r##"foo|bar +---|--- +foo|bar +"##; + let expected = r##" + +
foobar
foobar
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_25() { + let original = r##"foo|bar\\ +---|--- +foo|bar +"##; + let expected = r##" + +
foobar\
foobar
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_26() { + let original = r##"[](url) +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_27() { + let original = r##"[bar](url) +"##; + let expected = r##"

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_28() { + let original = r##"![](http://example.com/logo.png) +"##; + let expected = r##"

http://example.com

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_29() { + let original = r##"[ ](url) +"##; + let expected = r##"

http://one http://two

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_30() { + let original = r##"Markdown | Less | Pretty +--- | --- | --- + +some text +"##; + let expected = r##" +
Markdown Less Pretty
+

some text

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_31() { + let original = r##"1. > foo +2. > +"##; + let expected = r##"
    +
  1. +
    +

    foo

    +
    +
  2. +
  3. +
    +
    +
  4. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_32() { + let original = r##"[ +x + +]: f +"##; + let expected = r##"

[ +x

+

]: f

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_33() { + let original = r##"[foo]: +"##; + let expected = r##"

[foo]:

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_34() { + let original = r##"> [foo +> bar]: /url +> +> [foo bar] +"##; + let expected = r##"
+

foo bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_35() { + let original = r##"> foo | bar +> --- | --- +yolo | swag +"##; + let expected = r##"
+
foobar
+
+

yolo | swag

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_36() { + let original = r##" +"##; + let expected = r##" +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_37() { + let original = r##" +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_38() { + let original = r##"~~*_**__ + +__a__ +"##; + let expected = r##"

~~*_**__

+

a

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_39() { + let original = r##"> ` +> ` +"##; + let expected = r##"
+

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_40() { + let original = r##"`\|` +"##; + let expected = r##"

\|

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_41() { + let original = r##"Paragraph 1 + +Paragraph 2 +"##; + let expected = r##"

Paragraph 1

+

Paragraph 2

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_42() { + let original = r##"\[[link text](https://www.google.com/)\] +"##; + let expected = r##"

[link text]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_43() { + let original = r##"foo | bar +--- | --- +[a](< | url>) +"##; + let expected = r##"
foobar
[a](<url>)
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_44() { + let original = r##"[a](url " +- - - +") +"##; + let expected = r##"

[a](url "

+
+

")

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_45() { + let original = r##"[a](url + +) +"##; + let expected = r##"

[a](url

+

)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_46() { + let original = r##"[a](b " + +") +"##; + let expected = r##"

[a](b "

+

")

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_47() { + let original = r##" +"##; + let expected = r##"

<http:// >

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_48() { + let original = r##" +"##; + let expected = r##"

<http://>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_49() { + let original = r##"foo | bar +--- | --- + + +foobar + + +<http://baz + + +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_50() { + let original = r##"foo | bar +--- | --- + +"##; + let expected = r##" + + + + + + +
foobar
<http://>
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_51() { + let original = r##"\*hi\_ +"##; + let expected = r##"

*hi_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_52() { + let original = r##"email: \_ +"##; + let expected = r##"

email: john@example.com_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_53() { + let original = r##"> [link](/url 'foo +> bar') +"##; + let expected = r##"
+

link

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_54() { + let original = r##"> [foo +> bar]: /url +> +> [foo bar] +"##; + let expected = r##"
+

foo bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_55() { + let original = r##"> [foo bar]: /url +> +> [foo +> bar] +"##; + let expected = r##"
+

foo +bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_56() { + let original = r##"> - [a +> b c]: /foo + +[a b c] +"##; + let expected = r##"
+
    +
  • +
+
+

a b c

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_57() { + let original = r##"[a +> b]: /foo + +[a b] [a > b] +"##; + let expected = r##"

[a

+
+

b]: /foo

+
+

[a b] [a > b]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_58() { + let original = r##"[`cargo +package`] + +[`cargo package`]: https://example.com +"##; + let expected = r##"

cargo package

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_59() { + let original = r##"> [`cargo +> package`] + +[`cargo package`]: https://example.com +"##; + let expected = r##"
+

cargo package

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_60() { + let original = r##"> `cargo +> package` +"##; + let expected = r##"
+

cargo package

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_61() { + let original = r##"> Note: Though you should not rely on this, all pointers to title="Dynamically Sized Types">DSTs are currently twice the size of +> the size of `usize` and have the same alignment. +"##; + let expected = r##"
+

Note: Though you should not rely on this, all pointers to +DSTs are currently twice the size of +the size of usize and have the same alignment.

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_62() { + let original = r##"Lorem ipsum.[^a] + +An unordered list before the footnotes: +* Ipsum +* Lorem + +[^a]: Cool. +"##; + let expected = r##"

Lorem ipsum.1

+

An unordered list before the footnotes:

+
    +
  • Ipsum
  • +
  • Lorem
  • +
+
1 +

Cool.

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_63() { + let original = r##"[][a] + +[a]: b + +# assimp-rs [![][crates-badge]][crates] + +[crates]: https://crates.io/crates/assimp +[crates-badge]: http://meritbadge.herokuapp.com/assimp +"##; + let expected = r##"

+ +

assimp-rs

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_64() { + let original = r##"* A list. + + * A sublist. + + * Another sublist. + + +* A list. + + * A sublist. + + * Another sublist. + +"##; + let expected = r##"
    +
  • +

    A list.

    +
      +
    • +

      A sublist.

      +
    • +
    • +

      Another sublist.

      +
    • +
    +
  • +
  • +

    A list.

    +
      +
    • +

      A sublist.

      +
    • +
    • +

      Another sublist.

      +
    • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_65() { + let original = r##"<foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_66() { + let original = r##"> > a > ="yo +> > lo"> +"##; + let expected = r##"
+
+

a

+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_67() { + let original = r##" - the whitespace here are tabs +"##; + let expected = r##"
-	the whitespace here are tabs
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_68() { + let original = r##"1. a + 1. a + +a +2. a +"##; + let expected = r##"
    +
  1. a +
      +
    1. a
    2. +
    +
  2. +
+

a +2. a

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_69() { + let original = r##"1. a +2. a + 2. a +"##; + let expected = r##"
    +
  1. a
  2. +
  3. a +2. a
  4. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn regression_test_70() { + let original = r##"* foo + + bar + + baz +"##; + let expected = r##"
    +
  • foo +
      +
    • bar
    • +
    • baz
    • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} diff --git a/vendor/pulldown-cmark/tests/suite/smart_punct.rs b/vendor/pulldown-cmark/tests/suite/smart_punct.rs new file mode 100644 index 000000000..62681b648 --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/smart_punct.rs @@ -0,0 +1,201 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn smart_punct_test_1() { + let original = r##""Hello," said the spider. +"'Shelob' is my name." +"##; + let expected = r##"

“Hello,” said the spider. +“‘Shelob’ is my name.”

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_2() { + let original = r##"'A', 'B', and 'C' are letters. +"##; + let expected = r##"

‘A’, ‘B’, and ‘C’ are letters.

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_3() { + let original = r##"'Oak,' 'elm,' and 'beech' are names of trees. +So is 'pine.' +"##; + let expected = r##"

‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. +So is ‘pine.’

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_4() { + let original = r##"'He said, "I want to go."' +"##; + let expected = r##"

‘He said, “I want to go.”’

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_5() { + let original = r##"Were you alive in the 70's? +"##; + let expected = r##"

Were you alive in the 70’s?

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_6() { + let original = r##"Here is some quoted '`code`' and a "[quoted link](url)". +"##; + let expected = r##"

Here is some quoted ‘code’ and a “quoted link”.

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_7() { + let original = r##"'tis the season to be 'jolly' +"##; + let expected = r##"

’tis the season to be ‘jolly’

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_8() { + let original = r##"'We'll use Jane's boat and John's truck,' Jenna said. +"##; + let expected = r##"

‘We’ll use Jane’s boat and John’s truck,’ Jenna said.

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_9() { + let original = r##""A paragraph with no closing quote. + +"Second paragraph by same speaker, in fiction." +"##; + let expected = r##"

“A paragraph with no closing quote.

+

“Second paragraph by same speaker, in fiction.”

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_10() { + let original = r##"[a]'s b' +"##; + let expected = r##"

[a]’s b’

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_11() { + let original = r##"\"This is not smart.\" +This isn\'t either. +5\'8\" +"##; + let expected = r##"

"This is not smart." +This isn't either. +5'8"

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_12() { + let original = r##"Some dashes: em---em +en--en +em --- em +en -- en +2--3 +"##; + let expected = r##"

Some dashes: em—em +en–en +em — em +en – en +2–3

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_13() { + let original = r##"one- +two-- +three--- +four---- +five----- +six------ +seven------- +eight-------- +nine--------- +thirteen-------------. +"##; + let expected = r##"

one- +two– +three— +four–– +five—– +six—— +seven—–– +eight–––– +nine——— +thirteen———––.

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_14() { + let original = r##"Escaped hyphens: \-- \-\-\-. +"##; + let expected = r##"

Escaped hyphens: -- ---.

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_15() { + let original = r##"Ellipses...and...and.... +"##; + let expected = r##"

Ellipses…and…and….

+"##; + + test_markdown_html(original, expected, true); +} + +#[test] +fn smart_punct_test_16() { + let original = r##"No ellipses\.\.\. +"##; + let expected = r##"

No ellipses...

+"##; + + test_markdown_html(original, expected, true); +} diff --git a/vendor/pulldown-cmark/tests/suite/spec.rs b/vendor/pulldown-cmark/tests/suite/spec.rs new file mode 100644 index 000000000..3785ddacf --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/spec.rs @@ -0,0 +1,8490 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn spec_test_1() { + let original = r##" foo baz bim +"##; + let expected = r##"
foo	baz		bim
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_2() { + let original = r##" foo baz bim +"##; + let expected = r##"
foo	baz		bim
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_3() { + let original = r##" a a + ὐ a +"##; + let expected = r##"
a	a
+ὐ	a
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_4() { + let original = r##" - foo + + bar +"##; + let expected = r##"
    +
  • +

    foo

    +

    bar

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_5() { + let original = r##"- foo + + bar +"##; + let expected = r##"
    +
  • +

    foo

    +
      bar
    +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_6() { + let original = r##"> foo +"##; + let expected = r##"
+
  foo
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_7() { + let original = r##"- foo +"##; + let expected = r##"
    +
  • +
      foo
    +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_8() { + let original = r##" foo + bar +"##; + let expected = r##"
foo
+bar
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_9() { + let original = r##" - foo + - bar + - baz +"##; + let expected = r##"
    +
  • foo +
      +
    • bar +
        +
      • baz
      • +
      +
    • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_10() { + let original = r##"# Foo +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_11() { + let original = r##"* * * +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_12() { + let original = r##"\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~ +"##; + let expected = r##"

!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_13() { + let original = r##"\ \A\a\ \3\φ\« +"##; + let expected = r##"

\ \A\a\ \3\φ\«

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_14() { + let original = r##"\*not emphasized* +\
not a tag +\[not a link](/foo) +\`not code` +1\. not a list +\* not a list +\# not a heading +\[foo]: /url "not a reference" +\ö not a character entity +"##; + let expected = r##"

*not emphasized* +<br/> not a tag +[not a link](/foo) +`not code` +1. not a list +* not a list +# not a heading +[foo]: /url "not a reference" +&ouml; not a character entity

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_15() { + let original = r##"\\*emphasis* +"##; + let expected = r##"

\emphasis

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_16() { + let original = r##"foo\ +bar +"##; + let expected = r##"

foo
+bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_17() { + let original = r##"`` \[\` `` +"##; + let expected = r##"

\[\`

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_18() { + let original = r##" \[\] +"##; + let expected = r##"
\[\]
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_19() { + let original = r##"~~~ +\[\] +~~~ +"##; + let expected = r##"
\[\]
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_20() { + let original = r##" +"##; + let expected = r##"

http://example.com?find=\*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_21() { + let original = r##" +"##; + let expected = r##" +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_22() { + let original = r##"[foo](/bar\* "ti\*tle") +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_23() { + let original = r##"[foo] + +[foo]: /bar\* "ti\*tle" +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_24() { + let original = r##"``` foo\+bar +foo +``` +"##; + let expected = r##"
foo
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_25() { + let original = r##"  & © Æ Ď +¾ ℋ ⅆ +∲ ≧̸ +"##; + let expected = r##"

  & © Æ Ď +¾ ℋ ⅆ +∲ ≧̸

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_26() { + let original = r##"# Ӓ Ϡ � +"##; + let expected = r##"

# Ӓ Ϡ �

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_27() { + let original = r##"" ആ ಫ +"##; + let expected = r##"

" ആ ಫ

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_28() { + let original = r##"  &x; &#; &#x; +� +&#abcdef0; +&ThisIsNotDefined; &hi?; +"##; + let expected = r##"

&nbsp &x; &#; &#x; +&#87654321; +&#abcdef0; +&ThisIsNotDefined; &hi?;

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_29() { + let original = r##"© +"##; + let expected = r##"

&copy

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_30() { + let original = r##"&MadeUpEntity; +"##; + let expected = r##"

&MadeUpEntity;

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_31() { + let original = r##" +"##; + let expected = r##" +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_32() { + let original = r##"[foo](/föö "föö") +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_33() { + let original = r##"[foo] + +[foo]: /föö "föö" +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_34() { + let original = r##"``` föö +foo +``` +"##; + let expected = r##"
foo
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_35() { + let original = r##"`föö` +"##; + let expected = r##"

f&ouml;&ouml;

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_36() { + let original = r##" föfö +"##; + let expected = r##"
f&ouml;f&ouml;
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_37() { + let original = r##"*foo* +*foo* +"##; + let expected = r##"

*foo* +foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_38() { + let original = r##"* foo + +* foo +"##; + let expected = r##"

* foo

+
    +
  • foo
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_39() { + let original = r##"foo bar +"##; + let expected = r##"

foo + +bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_40() { + let original = r##" foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_41() { + let original = r##"[a](url "tit") +"##; + let expected = r##"

[a](url "tit")

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_42() { + let original = r##"- `one +- two` +"##; + let expected = r##"
    +
  • `one
  • +
  • two`
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_43() { + let original = r##"*** +--- +___ +"##; + let expected = r##"
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_44() { + let original = r##"+++ +"##; + let expected = r##"

+++

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_45() { + let original = r##"=== +"##; + let expected = r##"

===

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_46() { + let original = r##"-- +** +__ +"##; + let expected = r##"

-- +** +__

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_47() { + let original = r##" *** + *** + *** +"##; + let expected = r##"
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_48() { + let original = r##" *** +"##; + let expected = r##"
***
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_49() { + let original = r##"Foo + *** +"##; + let expected = r##"

Foo +***

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_50() { + let original = r##"_____________________________________ +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_51() { + let original = r##" - - - +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_52() { + let original = r##" ** * ** * ** * ** +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_53() { + let original = r##"- - - - +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_54() { + let original = r##"- - - - +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_55() { + let original = r##"_ _ _ _ a + +a------ + +---a--- +"##; + let expected = r##"

_ _ _ _ a

+

a------

+

---a---

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_56() { + let original = r##" *-* +"##; + let expected = r##"

-

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_57() { + let original = r##"- foo +*** +- bar +"##; + let expected = r##"
    +
  • foo
  • +
+
+
    +
  • bar
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_58() { + let original = r##"Foo +*** +bar +"##; + let expected = r##"

Foo

+
+

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_59() { + let original = r##"Foo +--- +bar +"##; + let expected = r##"

Foo

+

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_60() { + let original = r##"* Foo +* * * +* Bar +"##; + let expected = r##"
    +
  • Foo
  • +
+
+
    +
  • Bar
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_61() { + let original = r##"- Foo +- * * * +"##; + let expected = r##"
    +
  • Foo
  • +
  • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_62() { + let original = r##"# foo +## foo +### foo +#### foo +##### foo +###### foo +"##; + let expected = r##"

foo

+

foo

+

foo

+

foo

+
foo
+
foo
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_63() { + let original = r##"####### foo +"##; + let expected = r##"

####### foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_64() { + let original = r##"#5 bolt + +#hashtag +"##; + let expected = r##"

#5 bolt

+

#hashtag

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_65() { + let original = r##"\## foo +"##; + let expected = r##"

## foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_66() { + let original = r##"# foo *bar* \*baz\* +"##; + let expected = r##"

foo bar *baz*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_67() { + let original = r##"# foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_68() { + let original = r##" ### foo + ## foo + # foo +"##; + let expected = r##"

foo

+

foo

+

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_69() { + let original = r##" # foo +"##; + let expected = r##"
# foo
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_70() { + let original = r##"foo + # bar +"##; + let expected = r##"

foo +# bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_71() { + let original = r##"## foo ## + ### bar ### +"##; + let expected = r##"

foo

+

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_72() { + let original = r##"# foo ################################## +##### foo ## +"##; + let expected = r##"

foo

+
foo
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_73() { + let original = r##"### foo ### +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_74() { + let original = r##"### foo ### b +"##; + let expected = r##"

foo ### b

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_75() { + let original = r##"# foo# +"##; + let expected = r##"

foo#

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_76() { + let original = r##"### foo \### +## foo #\## +# foo \# +"##; + let expected = r##"

foo ###

+

foo ###

+

foo #

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_77() { + let original = r##"**** +## foo +**** +"##; + let expected = r##"
+

foo

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_78() { + let original = r##"Foo bar +# baz +Bar foo +"##; + let expected = r##"

Foo bar

+

baz

+

Bar foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_79() { + let original = r##"## +# +### ### +"##; + let expected = r##"

+

+

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_80() { + let original = r##"Foo *bar* +========= + +Foo *bar* +--------- +"##; + let expected = r##"

Foo bar

+

Foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_81() { + let original = r##"Foo *bar +baz* +==== +"##; + let expected = r##"

Foo bar +baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_82() { + let original = r##" Foo *bar +baz* +==== +"##; + let expected = r##"

Foo bar +baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_83() { + let original = r##"Foo +------------------------- + +Foo += +"##; + let expected = r##"

Foo

+

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_84() { + let original = r##" Foo +--- + + Foo +----- + + Foo + === +"##; + let expected = r##"

Foo

+

Foo

+

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_85() { + let original = r##" Foo + --- + + Foo +--- +"##; + let expected = r##"
Foo
+---
+
+Foo
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_86() { + let original = r##"Foo + ---- +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_87() { + let original = r##"Foo + --- +"##; + let expected = r##"

Foo +---

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_88() { + let original = r##"Foo += = + +Foo +--- - +"##; + let expected = r##"

Foo += =

+

Foo

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_89() { + let original = r##"Foo +----- +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_90() { + let original = r##"Foo\ +---- +"##; + let expected = r##"

Foo\

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_91() { + let original = r##"`Foo +---- +` + + +"##; + let expected = r##"

`Foo

+

`

+

<a title="a lot

+

of dashes"/>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_92() { + let original = r##"> Foo +--- +"##; + let expected = r##"
+

Foo

+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_93() { + let original = r##"> foo +bar +=== +"##; + let expected = r##"
+

foo +bar +===

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_94() { + let original = r##"- Foo +--- +"##; + let expected = r##"
    +
  • Foo
  • +
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_95() { + let original = r##"Foo +Bar +--- +"##; + let expected = r##"

Foo +Bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_96() { + let original = r##"--- +Foo +--- +Bar +--- +Baz +"##; + let expected = r##"
+

Foo

+

Bar

+

Baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_97() { + let original = r##" +==== +"##; + let expected = r##"

====

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_98() { + let original = r##"--- +--- +"##; + let expected = r##"
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_99() { + let original = r##"- foo +----- +"##; + let expected = r##"
    +
  • foo
  • +
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_100() { + let original = r##" foo +--- +"##; + let expected = r##"
foo
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_101() { + let original = r##"> foo +----- +"##; + let expected = r##"
+

foo

+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_102() { + let original = r##"\> foo +------ +"##; + let expected = r##"

> foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_103() { + let original = r##"Foo + +bar +--- +baz +"##; + let expected = r##"

Foo

+

bar

+

baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_104() { + let original = r##"Foo +bar + +--- + +baz +"##; + let expected = r##"

Foo +bar

+
+

baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_105() { + let original = r##"Foo +bar +* * * +baz +"##; + let expected = r##"

Foo +bar

+
+

baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_106() { + let original = r##"Foo +bar +\--- +baz +"##; + let expected = r##"

Foo +bar +--- +baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_107() { + let original = r##" a simple + indented code block +"##; + let expected = r##"
a simple
+  indented code block
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_108() { + let original = r##" - foo + + bar +"##; + let expected = r##"
    +
  • +

    foo

    +

    bar

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_109() { + let original = r##"1. foo + + - bar +"##; + let expected = r##"
    +
  1. +

    foo

    +
      +
    • bar
    • +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_110() { + let original = r##"
+ *hi* + + - one +"##; + let expected = r##"
<a/>
+*hi*
+
+- one
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_111() { + let original = r##" chunk1 + + chunk2 + + + + chunk3 +"##; + let expected = r##"
chunk1
+
+chunk2
+
+
+
+chunk3
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_112() { + let original = r##" chunk1 + + chunk2 +"##; + let expected = r##"
chunk1
+  
+  chunk2
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_113() { + let original = r##"Foo + bar + +"##; + let expected = r##"

Foo +bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_114() { + let original = r##" foo +bar +"##; + let expected = r##"
foo
+
+

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_115() { + let original = r##"# Heading + foo +Heading +------ + foo +---- +"##; + let expected = r##"

Heading

+
foo
+
+

Heading

+
foo
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_116() { + let original = r##" foo + bar +"##; + let expected = r##"
    foo
+bar
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_117() { + let original = r##" + + foo + + +"##; + let expected = r##"
foo
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_118() { + let original = r##" foo +"##; + let expected = r##"
foo  
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_119() { + let original = r##"``` +< + > +``` +"##; + let expected = r##"
<
+ >
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_120() { + let original = r##"~~~ +< + > +~~~ +"##; + let expected = r##"
<
+ >
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_121() { + let original = r##"`` +foo +`` +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_122() { + let original = r##"``` +aaa +~~~ +``` +"##; + let expected = r##"
aaa
+~~~
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_123() { + let original = r##"~~~ +aaa +``` +~~~ +"##; + let expected = r##"
aaa
+```
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_124() { + let original = r##"```` +aaa +``` +`````` +"##; + let expected = r##"
aaa
+```
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_125() { + let original = r##"~~~~ +aaa +~~~ +~~~~ +"##; + let expected = r##"
aaa
+~~~
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_126() { + let original = r##"``` +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_127() { + let original = r##"````` + +``` +aaa +"##; + let expected = r##"

+```
+aaa
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_128() { + let original = r##"> ``` +> aaa + +bbb +"##; + let expected = r##"
+
aaa
+
+
+

bbb

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_129() { + let original = r##"``` + + +``` +"##; + let expected = r##"

+  
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_130() { + let original = r##"``` +``` +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_131() { + let original = r##" ``` + aaa +aaa +``` +"##; + let expected = r##"
aaa
+aaa
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_132() { + let original = r##" ``` +aaa + aaa +aaa + ``` +"##; + let expected = r##"
aaa
+aaa
+aaa
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_133() { + let original = r##" ``` + aaa + aaa + aaa + ``` +"##; + let expected = r##"
aaa
+ aaa
+aaa
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_134() { + let original = r##" ``` + aaa + ``` +"##; + let expected = r##"
```
+aaa
+```
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_135() { + let original = r##"``` +aaa + ``` +"##; + let expected = r##"
aaa
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_136() { + let original = r##" ``` +aaa + ``` +"##; + let expected = r##"
aaa
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_137() { + let original = r##"``` +aaa + ``` +"##; + let expected = r##"
aaa
+    ```
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_138() { + let original = r##"``` ``` +aaa +"##; + let expected = r##"

+aaa

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_139() { + let original = r##"~~~~~~ +aaa +~~~ ~~ +"##; + let expected = r##"
aaa
+~~~ ~~
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_140() { + let original = r##"foo +``` +bar +``` +baz +"##; + let expected = r##"

foo

+
bar
+
+

baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_141() { + let original = r##"foo +--- +~~~ +bar +~~~ +# baz +"##; + let expected = r##"

foo

+
bar
+
+

baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_142() { + let original = r##"```ruby +def foo(x) + return 3 +end +``` +"##; + let expected = r##"
def foo(x)
+  return 3
+end
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_143() { + let original = r##"~~~~ ruby startline=3 $%@#$ +def foo(x) + return 3 +end +~~~~~~~ +"##; + let expected = r##"
def foo(x)
+  return 3
+end
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_144() { + let original = r##"````; +```` +"##; + let expected = r##"
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_145() { + let original = r##"``` aa ``` +foo +"##; + let expected = r##"

aa +foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_146() { + let original = r##"~~~ aa ``` ~~~ +foo +~~~ +"##; + let expected = r##"
foo
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_147() { + let original = r##"``` +``` aaa +``` +"##; + let expected = r##"
``` aaa
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_148() { + let original = r##"
+
+**Hello**,
+
+_world_.
+
+
+"##; + let expected = r##"
+
+**Hello**,
+

world. +

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_149() { + let original = r##" + + + +
+ hi +
+ +okay. +"##; + let expected = r##" + + + +
+ hi +
+

okay.

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_150() { + let original = r##"
+*foo* +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_152() { + let original = r##"
+ +*Markdown* + +
+"##; + let expected = r##"
+

Markdown

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_153() { + let original = r##"
+
+"##; + let expected = r##"
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_154() { + let original = r##"
+
+"##; + let expected = r##"
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_155() { + let original = r##"
+*foo* + +*bar* +"##; + let expected = r##"
+*foo* +

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_156() { + let original = r##"
+"##; + let expected = r##" +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_160() { + let original = r##"
+foo +
+"##; + let expected = r##"
+foo +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_161() { + let original = r##"
+``` c +int x = 33; +``` +"##; + let expected = r##"
+``` c +int x = 33; +``` +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_162() { + let original = r##" +*bar* + +"##; + let expected = r##" +*bar* + +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_163() { + let original = r##" +*bar* + +"##; + let expected = r##" +*bar* + +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_164() { + let original = r##" +*bar* + +"##; + let expected = r##" +*bar* + +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_165() { + let original = r##" +*bar* +"##; + let expected = r##" +*bar* +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_166() { + let original = r##" +*foo* + +"##; + let expected = r##" +*foo* + +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_167() { + let original = r##" + +*foo* + + +"##; + let expected = r##" +

foo

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_168() { + let original = r##"*foo* +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_169() { + let original = r##"

+import Text.HTML.TagSoup
+
+main :: IO ()
+main = print $ parseTags tags
+
+okay +"##; + let expected = r##"

+import Text.HTML.TagSoup
+
+main :: IO ()
+main = print $ parseTags tags
+
+

okay

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_170() { + let original = r##" +okay +"##; + let expected = r##" +

okay

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_171() { + let original = r##" +"##; + let expected = r##" +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_172() { + let original = r##" +okay +"##; + let expected = r##" +

okay

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_173() { + let original = r##" +*foo* +"##; + let expected = r##" +

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_177() { + let original = r##"*bar* +*baz* +"##; + let expected = r##"*bar* +

baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_178() { + let original = r##"1. *bar* +"##; + let expected = r##"1. *bar* +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_179() { + let original = r##" +okay +"##; + let expected = r##" +

okay

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_180() { + let original = r##"'; + +?> +okay +"##; + let expected = r##"'; + +?> +

okay

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_181() { + let original = r##" +"##; + let expected = r##" +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_182() { + let original = r##" +okay +"##; + let expected = r##" +

okay

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_183() { + let original = r##" + + +"##; + let expected = r##" +
<!-- foo -->
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_184() { + let original = r##"
+ +
+"##; + let expected = r##"
+
<div>
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_185() { + let original = r##"Foo +
+bar +
+"##; + let expected = r##"

Foo

+
+bar +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_186() { + let original = r##"
+bar +
+*foo* +"##; + let expected = r##"
+bar +
+*foo* +"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_187() { + let original = r##"Foo + +baz +"##; + let expected = r##"

Foo + +baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_188() { + let original = r##"
+ +*Emphasized* text. + +
+"##; + let expected = r##"
+

Emphasized text.

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_189() { + let original = r##"
+*Emphasized* text. +
+"##; + let expected = r##"
+*Emphasized* text. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_190() { + let original = r##" + + + + + + + +
+Hi +
+"##; + let expected = r##" + + + +
+Hi +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_191() { + let original = r##" + + + + + + + +
+ Hi +
+"##; + let expected = r##" + +
<td>
+  Hi
+</td>
+
+ +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_192() { + let original = r##"[foo]: /url "title" + +[foo] +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_193() { + let original = r##" [foo]: + /url + 'the title' + +[foo] +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_194() { + let original = r##"[Foo*bar\]]:my_(url) 'title (with parens)' + +[Foo*bar\]] +"##; + let expected = r##"

Foo*bar]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_195() { + let original = r##"[Foo bar]: + +'title' + +[Foo bar] +"##; + let expected = r##"

Foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_196() { + let original = r##"[foo]: /url ' +title +line1 +line2 +' + +[foo] +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_197() { + let original = r##"[foo]: /url 'title + +with blank line' + +[foo] +"##; + let expected = r##"

[foo]: /url 'title

+

with blank line'

+

[foo]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_198() { + let original = r##"[foo]: +/url + +[foo] +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_199() { + let original = r##"[foo]: + +[foo] +"##; + let expected = r##"

[foo]:

+

[foo]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_200() { + let original = r##"[foo]: <> + +[foo] +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_201() { + let original = r##"[foo]: (baz) + +[foo] +"##; + let expected = r##"

[foo]: (baz)

+

[foo]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_202() { + let original = r##"[foo]: /url\bar\*baz "foo\"bar\baz" + +[foo] +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_203() { + let original = r##"[foo] + +[foo]: url +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_204() { + let original = r##"[foo] + +[foo]: first +[foo]: second +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_205() { + let original = r##"[FOO]: /url + +[Foo] +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_206() { + let original = r##"[ΑΓΩ]: /φου + +[αγω] +"##; + let expected = r##"

αγω

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_207() { + let original = r##"[foo]: /url +"##; + let expected = r##""##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_208() { + let original = r##"[ +foo +]: /url +bar +"##; + let expected = r##"

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_209() { + let original = r##"[foo]: /url "title" ok +"##; + let expected = r##"

[foo]: /url "title" ok

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_210() { + let original = r##"[foo]: /url +"title" ok +"##; + let expected = r##"

"title" ok

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_211() { + let original = r##" [foo]: /url "title" + +[foo] +"##; + let expected = r##"
[foo]: /url "title"
+
+

[foo]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_212() { + let original = r##"``` +[foo]: /url +``` + +[foo] +"##; + let expected = r##"
[foo]: /url
+
+

[foo]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_213() { + let original = r##"Foo +[bar]: /baz + +[bar] +"##; + let expected = r##"

Foo +[bar]: /baz

+

[bar]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_214() { + let original = r##"# [Foo] +[foo]: /url +> bar +"##; + let expected = r##"

Foo

+
+

bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_215() { + let original = r##"[foo]: /url +bar +=== +[foo] +"##; + let expected = r##"

bar

+

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_216() { + let original = r##"[foo]: /url +=== +[foo] +"##; + let expected = r##"

=== +foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_217() { + let original = r##"[foo]: /foo-url "foo" +[bar]: /bar-url + "bar" +[baz]: /baz-url + +[foo], +[bar], +[baz] +"##; + let expected = r##"

foo, +bar, +baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_218() { + let original = r##"[foo] + +> [foo]: /url +"##; + let expected = r##"

foo

+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_219() { + let original = r##"aaa + +bbb +"##; + let expected = r##"

aaa

+

bbb

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_220() { + let original = r##"aaa +bbb + +ccc +ddd +"##; + let expected = r##"

aaa +bbb

+

ccc +ddd

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_221() { + let original = r##"aaa + + +bbb +"##; + let expected = r##"

aaa

+

bbb

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_222() { + let original = r##" aaa + bbb +"##; + let expected = r##"

aaa +bbb

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_223() { + let original = r##"aaa + bbb + ccc +"##; + let expected = r##"

aaa +bbb +ccc

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_224() { + let original = r##" aaa +bbb +"##; + let expected = r##"

aaa +bbb

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_225() { + let original = r##" aaa +bbb +"##; + let expected = r##"
aaa
+
+

bbb

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_226() { + let original = r##"aaa +bbb +"##; + let expected = r##"

aaa
+bbb

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_227() { + let original = r##" + +aaa + + +# aaa + + +"##; + let expected = r##"

aaa

+

aaa

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_228() { + let original = r##"> # Foo +> bar +> baz +"##; + let expected = r##"
+

Foo

+

bar +baz

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_229() { + let original = r##"># Foo +>bar +> baz +"##; + let expected = r##"
+

Foo

+

bar +baz

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_230() { + let original = r##" > # Foo + > bar + > baz +"##; + let expected = r##"
+

Foo

+

bar +baz

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_231() { + let original = r##" > # Foo + > bar + > baz +"##; + let expected = r##"
> # Foo
+> bar
+> baz
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_232() { + let original = r##"> # Foo +> bar +baz +"##; + let expected = r##"
+

Foo

+

bar +baz

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_233() { + let original = r##"> bar +baz +> foo +"##; + let expected = r##"
+

bar +baz +foo

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_234() { + let original = r##"> foo +--- +"##; + let expected = r##"
+

foo

+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_235() { + let original = r##"> - foo +- bar +"##; + let expected = r##"
+
    +
  • foo
  • +
+
+
    +
  • bar
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_236() { + let original = r##"> foo + bar +"##; + let expected = r##"
+
foo
+
+
+
bar
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_237() { + let original = r##"> ``` +foo +``` +"##; + let expected = r##"
+
+
+

foo

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_238() { + let original = r##"> foo + - bar +"##; + let expected = r##"
+

foo +- bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_239() { + let original = r##"> +"##; + let expected = r##"
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_240() { + let original = r##"> +> +> +"##; + let expected = r##"
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_241() { + let original = r##"> +> foo +> +"##; + let expected = r##"
+

foo

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_242() { + let original = r##"> foo + +> bar +"##; + let expected = r##"
+

foo

+
+
+

bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_243() { + let original = r##"> foo +> bar +"##; + let expected = r##"
+

foo +bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_244() { + let original = r##"> foo +> +> bar +"##; + let expected = r##"
+

foo

+

bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_245() { + let original = r##"foo +> bar +"##; + let expected = r##"

foo

+
+

bar

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_246() { + let original = r##"> aaa +*** +> bbb +"##; + let expected = r##"
+

aaa

+
+
+
+

bbb

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_247() { + let original = r##"> bar +baz +"##; + let expected = r##"
+

bar +baz

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_248() { + let original = r##"> bar + +baz +"##; + let expected = r##"
+

bar

+
+

baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_249() { + let original = r##"> bar +> +baz +"##; + let expected = r##"
+

bar

+
+

baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_250() { + let original = r##"> > > foo +bar +"##; + let expected = r##"
+
+
+

foo +bar

+
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_251() { + let original = r##">>> foo +> bar +>>baz +"##; + let expected = r##"
+
+
+

foo +bar +baz

+
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_252() { + let original = r##"> code + +> not code +"##; + let expected = r##"
+
code
+
+
+
+

not code

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_253() { + let original = r##"A paragraph +with two lines. + + indented code + +> A block quote. +"##; + let expected = r##"

A paragraph +with two lines.

+
indented code
+
+
+

A block quote.

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_254() { + let original = r##"1. A paragraph + with two lines. + + indented code + + > A block quote. +"##; + let expected = r##"
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_255() { + let original = r##"- one + + two +"##; + let expected = r##"
    +
  • one
  • +
+

two

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_256() { + let original = r##"- one + + two +"##; + let expected = r##"
    +
  • +

    one

    +

    two

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_257() { + let original = r##" - one + + two +"##; + let expected = r##"
    +
  • one
  • +
+
 two
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_258() { + let original = r##" - one + + two +"##; + let expected = r##"
    +
  • +

    one

    +

    two

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_259() { + let original = r##" > > 1. one +>> +>> two +"##; + let expected = r##"
+
+
    +
  1. +

    one

    +

    two

    +
  2. +
+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_260() { + let original = r##">>- one +>> + > > two +"##; + let expected = r##"
+
+
    +
  • one
  • +
+

two

+
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_261() { + let original = r##"-one + +2.two +"##; + let expected = r##"

-one

+

2.two

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_262() { + let original = r##"- foo + + + bar +"##; + let expected = r##"
    +
  • +

    foo

    +

    bar

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_263() { + let original = r##"1. foo + + ``` + bar + ``` + + baz + + > bam +"##; + let expected = r##"
    +
  1. +

    foo

    +
    bar
    +
    +

    baz

    +
    +

    bam

    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_264() { + let original = r##"- Foo + + bar + + + baz +"##; + let expected = r##"
    +
  • +

    Foo

    +
    bar
    +
    +
    +baz
    +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_265() { + let original = r##"123456789. ok +"##; + let expected = r##"
    +
  1. ok
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_266() { + let original = r##"1234567890. not ok +"##; + let expected = r##"

1234567890. not ok

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_267() { + let original = r##"0. ok +"##; + let expected = r##"
    +
  1. ok
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_268() { + let original = r##"003. ok +"##; + let expected = r##"
    +
  1. ok
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_269() { + let original = r##"-1. not ok +"##; + let expected = r##"

-1. not ok

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_270() { + let original = r##"- foo + + bar +"##; + let expected = r##"
    +
  • +

    foo

    +
    bar
    +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_271() { + let original = r##" 10. foo + + bar +"##; + let expected = r##"
    +
  1. +

    foo

    +
    bar
    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_272() { + let original = r##" indented code + +paragraph + + more code +"##; + let expected = r##"
indented code
+
+

paragraph

+
more code
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_273() { + let original = r##"1. indented code + + paragraph + + more code +"##; + let expected = r##"
    +
  1. +
    indented code
    +
    +

    paragraph

    +
    more code
    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_274() { + let original = r##"1. indented code + + paragraph + + more code +"##; + let expected = r##"
    +
  1. +
     indented code
    +
    +

    paragraph

    +
    more code
    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_275() { + let original = r##" foo + +bar +"##; + let expected = r##"

foo

+

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_276() { + let original = r##"- foo + + bar +"##; + let expected = r##"
    +
  • foo
  • +
+

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_277() { + let original = r##"- foo + + bar +"##; + let expected = r##"
    +
  • +

    foo

    +

    bar

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_278() { + let original = r##"- + foo +- + ``` + bar + ``` +- + baz +"##; + let expected = r##"
    +
  • foo
  • +
  • +
    bar
    +
    +
  • +
  • +
    baz
    +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_279() { + let original = r##"- + foo +"##; + let expected = r##"
    +
  • foo
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_280() { + let original = r##"- + + foo +"##; + let expected = r##"
    +
  • +
+

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_281() { + let original = r##"- foo +- +- bar +"##; + let expected = r##"
    +
  • foo
  • +
  • +
  • bar
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_282() { + let original = r##"- foo +- +- bar +"##; + let expected = r##"
    +
  • foo
  • +
  • +
  • bar
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_283() { + let original = r##"1. foo +2. +3. bar +"##; + let expected = r##"
    +
  1. foo
  2. +
  3. +
  4. bar
  5. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_284() { + let original = r##"* +"##; + let expected = r##"
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_285() { + let original = r##"foo +* + +foo +1. +"##; + let expected = r##"

foo +*

+

foo +1.

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_286() { + let original = r##" 1. A paragraph + with two lines. + + indented code + + > A block quote. +"##; + let expected = r##"
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_287() { + let original = r##" 1. A paragraph + with two lines. + + indented code + + > A block quote. +"##; + let expected = r##"
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_288() { + let original = r##" 1. A paragraph + with two lines. + + indented code + + > A block quote. +"##; + let expected = r##"
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_289() { + let original = r##" 1. A paragraph + with two lines. + + indented code + + > A block quote. +"##; + let expected = r##"
1.  A paragraph
+    with two lines.
+
+        indented code
+
+    > A block quote.
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_290() { + let original = r##" 1. A paragraph +with two lines. + + indented code + + > A block quote. +"##; + let expected = r##"
    +
  1. +

    A paragraph +with two lines.

    +
    indented code
    +
    +
    +

    A block quote.

    +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_291() { + let original = r##" 1. A paragraph + with two lines. +"##; + let expected = r##"
    +
  1. A paragraph +with two lines.
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_292() { + let original = r##"> 1. > Blockquote +continued here. +"##; + let expected = r##"
+
    +
  1. +
    +

    Blockquote +continued here.

    +
    +
  2. +
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_293() { + let original = r##"> 1. > Blockquote +> continued here. +"##; + let expected = r##"
+
    +
  1. +
    +

    Blockquote +continued here.

    +
    +
  2. +
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_294() { + let original = r##"- foo + - bar + - baz + - boo +"##; + let expected = r##"
    +
  • foo +
      +
    • bar +
        +
      • baz +
          +
        • boo
        • +
        +
      • +
      +
    • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_295() { + let original = r##"- foo + - bar + - baz + - boo +"##; + let expected = r##"
    +
  • foo
  • +
  • bar
  • +
  • baz
  • +
  • boo
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_296() { + let original = r##"10) foo + - bar +"##; + let expected = r##"
    +
  1. foo +
      +
    • bar
    • +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_297() { + let original = r##"10) foo + - bar +"##; + let expected = r##"
    +
  1. foo
  2. +
+
    +
  • bar
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_298() { + let original = r##"- - foo +"##; + let expected = r##"
    +
  • +
      +
    • foo
    • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_299() { + let original = r##"1. - 2. foo +"##; + let expected = r##"
    +
  1. +
      +
    • +
        +
      1. foo
      2. +
      +
    • +
    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_300() { + let original = r##"- # Foo +- Bar + --- + baz +"##; + let expected = r##"
    +
  • +

    Foo

    +
  • +
  • +

    Bar

    +baz
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_301() { + let original = r##"- foo +- bar ++ baz +"##; + let expected = r##"
    +
  • foo
  • +
  • bar
  • +
+
    +
  • baz
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_302() { + let original = r##"1. foo +2. bar +3) baz +"##; + let expected = r##"
    +
  1. foo
  2. +
  3. bar
  4. +
+
    +
  1. baz
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_303() { + let original = r##"Foo +- bar +- baz +"##; + let expected = r##"

Foo

+
    +
  • bar
  • +
  • baz
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_304() { + let original = r##"The number of windows in my house is +14. The number of doors is 6. +"##; + let expected = r##"

The number of windows in my house is +14. The number of doors is 6.

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_305() { + let original = r##"The number of windows in my house is +1. The number of doors is 6. +"##; + let expected = r##"

The number of windows in my house is

+
    +
  1. The number of doors is 6.
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_306() { + let original = r##"- foo + +- bar + + +- baz +"##; + let expected = r##"
    +
  • +

    foo

    +
  • +
  • +

    bar

    +
  • +
  • +

    baz

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_307() { + let original = r##"- foo + - bar + - baz + + + bim +"##; + let expected = r##"
    +
  • foo +
      +
    • bar +
        +
      • +

        baz

        +

        bim

        +
      • +
      +
    • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_308() { + let original = r##"- foo +- bar + + + +- baz +- bim +"##; + let expected = r##"
    +
  • foo
  • +
  • bar
  • +
+ +
    +
  • baz
  • +
  • bim
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_309() { + let original = r##"- foo + + notcode + +- foo + + + + code +"##; + let expected = r##"
    +
  • +

    foo

    +

    notcode

    +
  • +
  • +

    foo

    +
  • +
+ +
code
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_310() { + let original = r##"- a + - b + - c + - d + - e + - f +- g +"##; + let expected = r##"
    +
  • a
  • +
  • b
  • +
  • c
  • +
  • d
  • +
  • e
  • +
  • f
  • +
  • g
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_311() { + let original = r##"1. a + + 2. b + + 3. c +"##; + let expected = r##"
    +
  1. +

    a

    +
  2. +
  3. +

    b

    +
  4. +
  5. +

    c

    +
  6. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_312() { + let original = r##"- a + - b + - c + - d + - e +"##; + let expected = r##"
    +
  • a
  • +
  • b
  • +
  • c
  • +
  • d +- e
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_313() { + let original = r##"1. a + + 2. b + + 3. c +"##; + let expected = r##"
    +
  1. +

    a

    +
  2. +
  3. +

    b

    +
  4. +
+
3. c
+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_314() { + let original = r##"- a +- b + +- c +"##; + let expected = r##"
    +
  • +

    a

    +
  • +
  • +

    b

    +
  • +
  • +

    c

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_315() { + let original = r##"* a +* + +* c +"##; + let expected = r##"
    +
  • +

    a

    +
  • +
  • +
  • +

    c

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_316() { + let original = r##"- a +- b + + c +- d +"##; + let expected = r##"
    +
  • +

    a

    +
  • +
  • +

    b

    +

    c

    +
  • +
  • +

    d

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_317() { + let original = r##"- a +- b + + [ref]: /url +- d +"##; + let expected = r##"
    +
  • +

    a

    +
  • +
  • +

    b

    +
  • +
  • +

    d

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_318() { + let original = r##"- a +- ``` + b + + + ``` +- c +"##; + let expected = r##"
    +
  • a
  • +
  • +
    b
    +
    +
    +
    +
  • +
  • c
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_319() { + let original = r##"- a + - b + + c +- d +"##; + let expected = r##"
    +
  • a +
      +
    • +

      b

      +

      c

      +
    • +
    +
  • +
  • d
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_320() { + let original = r##"* a + > b + > +* c +"##; + let expected = r##"
    +
  • a +
    +

    b

    +
    +
  • +
  • c
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_321() { + let original = r##"- a + > b + ``` + c + ``` +- d +"##; + let expected = r##"
    +
  • a +
    +

    b

    +
    +
    c
    +
    +
  • +
  • d
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_322() { + let original = r##"- a +"##; + let expected = r##"
    +
  • a
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_323() { + let original = r##"- a + - b +"##; + let expected = r##"
    +
  • a +
      +
    • b
    • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_324() { + let original = r##"1. ``` + foo + ``` + + bar +"##; + let expected = r##"
    +
  1. +
    foo
    +
    +

    bar

    +
  2. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_325() { + let original = r##"* foo + * bar + + baz +"##; + let expected = r##"
    +
  • +

    foo

    +
      +
    • bar
    • +
    +

    baz

    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_326() { + let original = r##"- a + - b + - c + +- d + - e + - f +"##; + let expected = r##"
    +
  • +

    a

    +
      +
    • b
    • +
    • c
    • +
    +
  • +
  • +

    d

    +
      +
    • e
    • +
    • f
    • +
    +
  • +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_327() { + let original = r##"`hi`lo` +"##; + let expected = r##"

hilo`

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_328() { + let original = r##"`foo` +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_329() { + let original = r##"`` foo ` bar `` +"##; + let expected = r##"

foo ` bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_330() { + let original = r##"` `` ` +"##; + let expected = r##"

``

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_331() { + let original = r##"` `` ` +"##; + let expected = r##"

``

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_332() { + let original = r##"` a` +"##; + let expected = r##"

a

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_333() { + let original = r##"` b ` +"##; + let expected = r##"

 b 

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_334() { + let original = r##"` ` +` ` +"##; + let expected = r##"

  +

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_335() { + let original = r##"`` +foo +bar +baz +`` +"##; + let expected = r##"

foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_336() { + let original = r##"`` +foo +`` +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_337() { + let original = r##"`foo bar +baz` +"##; + let expected = r##"

foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_338() { + let original = r##"`foo\`bar` +"##; + let expected = r##"

foo\bar`

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_339() { + let original = r##"``foo`bar`` +"##; + let expected = r##"

foo`bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_340() { + let original = r##"` foo `` bar ` +"##; + let expected = r##"

foo `` bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_341() { + let original = r##"*foo`*` +"##; + let expected = r##"

*foo*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_342() { + let original = r##"[not a `link](/foo`) +"##; + let expected = r##"

[not a link](/foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_343() { + let original = r##"`` +"##; + let expected = r##"

<a href="">`

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_344() { + let original = r##"
` +"##; + let expected = r##"

`

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_345() { + let original = r##"`` +"##; + let expected = r##"

<http://foo.bar.baz>`

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_346() { + let original = r##"` +"##; + let expected = r##"

http://foo.bar.`baz`

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_347() { + let original = r##"```foo`` +"##; + let expected = r##"

```foo``

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_348() { + let original = r##"`foo +"##; + let expected = r##"

`foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_349() { + let original = r##"`foo``bar`` +"##; + let expected = r##"

`foobar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_350() { + let original = r##"*foo bar* +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_351() { + let original = r##"a * foo bar* +"##; + let expected = r##"

a * foo bar*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_352() { + let original = r##"a*"foo"* +"##; + let expected = r##"

a*"foo"*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_353() { + let original = r##"* a * +"##; + let expected = r##"

* a *

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_354() { + let original = r##"foo*bar* +"##; + let expected = r##"

foobar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_355() { + let original = r##"5*6*78 +"##; + let expected = r##"

5678

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_356() { + let original = r##"_foo bar_ +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_357() { + let original = r##"_ foo bar_ +"##; + let expected = r##"

_ foo bar_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_358() { + let original = r##"a_"foo"_ +"##; + let expected = r##"

a_"foo"_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_359() { + let original = r##"foo_bar_ +"##; + let expected = r##"

foo_bar_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_360() { + let original = r##"5_6_78 +"##; + let expected = r##"

5_6_78

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_361() { + let original = r##"пристаням_стремятся_ +"##; + let expected = r##"

пристаням_стремятся_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_362() { + let original = r##"aa_"bb"_cc +"##; + let expected = r##"

aa_"bb"_cc

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_363() { + let original = r##"foo-_(bar)_ +"##; + let expected = r##"

foo-(bar)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_364() { + let original = r##"_foo* +"##; + let expected = r##"

_foo*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_365() { + let original = r##"*foo bar * +"##; + let expected = r##"

*foo bar *

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_366() { + let original = r##"*foo bar +* +"##; + let expected = r##"

*foo bar +*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_367() { + let original = r##"*(*foo) +"##; + let expected = r##"

*(*foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_368() { + let original = r##"*(*foo*)* +"##; + let expected = r##"

(foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_369() { + let original = r##"*foo*bar +"##; + let expected = r##"

foobar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_370() { + let original = r##"_foo bar _ +"##; + let expected = r##"

_foo bar _

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_371() { + let original = r##"_(_foo) +"##; + let expected = r##"

_(_foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_372() { + let original = r##"_(_foo_)_ +"##; + let expected = r##"

(foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_373() { + let original = r##"_foo_bar +"##; + let expected = r##"

_foo_bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_374() { + let original = r##"_пристаням_стремятся +"##; + let expected = r##"

_пристаням_стремятся

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_375() { + let original = r##"_foo_bar_baz_ +"##; + let expected = r##"

foo_bar_baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_376() { + let original = r##"_(bar)_. +"##; + let expected = r##"

(bar).

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_377() { + let original = r##"**foo bar** +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_378() { + let original = r##"** foo bar** +"##; + let expected = r##"

** foo bar**

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_379() { + let original = r##"a**"foo"** +"##; + let expected = r##"

a**"foo"**

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_380() { + let original = r##"foo**bar** +"##; + let expected = r##"

foobar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_381() { + let original = r##"__foo bar__ +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_382() { + let original = r##"__ foo bar__ +"##; + let expected = r##"

__ foo bar__

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_383() { + let original = r##"__ +foo bar__ +"##; + let expected = r##"

__ +foo bar__

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_384() { + let original = r##"a__"foo"__ +"##; + let expected = r##"

a__"foo"__

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_385() { + let original = r##"foo__bar__ +"##; + let expected = r##"

foo__bar__

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_386() { + let original = r##"5__6__78 +"##; + let expected = r##"

5__6__78

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_387() { + let original = r##"пристаням__стремятся__ +"##; + let expected = r##"

пристаням__стремятся__

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_388() { + let original = r##"__foo, __bar__, baz__ +"##; + let expected = r##"

foo, bar, baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_389() { + let original = r##"foo-__(bar)__ +"##; + let expected = r##"

foo-(bar)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_390() { + let original = r##"**foo bar ** +"##; + let expected = r##"

**foo bar **

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_391() { + let original = r##"**(**foo) +"##; + let expected = r##"

**(**foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_392() { + let original = r##"*(**foo**)* +"##; + let expected = r##"

(foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_393() { + let original = r##"**Gomphocarpus (*Gomphocarpus physocarpus*, syn. +*Asclepias physocarpa*)** +"##; + let expected = r##"

Gomphocarpus (Gomphocarpus physocarpus, syn. +Asclepias physocarpa)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_394() { + let original = r##"**foo "*bar*" foo** +"##; + let expected = r##"

foo "bar" foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_395() { + let original = r##"**foo**bar +"##; + let expected = r##"

foobar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_396() { + let original = r##"__foo bar __ +"##; + let expected = r##"

__foo bar __

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_397() { + let original = r##"__(__foo) +"##; + let expected = r##"

__(__foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_398() { + let original = r##"_(__foo__)_ +"##; + let expected = r##"

(foo)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_399() { + let original = r##"__foo__bar +"##; + let expected = r##"

__foo__bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_400() { + let original = r##"__пристаням__стремятся +"##; + let expected = r##"

__пристаням__стремятся

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_401() { + let original = r##"__foo__bar__baz__ +"##; + let expected = r##"

foo__bar__baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_402() { + let original = r##"__(bar)__. +"##; + let expected = r##"

(bar).

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_403() { + let original = r##"*foo [bar](/url)* +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_404() { + let original = r##"*foo +bar* +"##; + let expected = r##"

foo +bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_405() { + let original = r##"_foo __bar__ baz_ +"##; + let expected = r##"

foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_406() { + let original = r##"_foo _bar_ baz_ +"##; + let expected = r##"

foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_407() { + let original = r##"__foo_ bar_ +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_408() { + let original = r##"*foo *bar** +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_409() { + let original = r##"*foo **bar** baz* +"##; + let expected = r##"

foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_410() { + let original = r##"*foo**bar**baz* +"##; + let expected = r##"

foobarbaz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_411() { + let original = r##"*foo**bar* +"##; + let expected = r##"

foo**bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_412() { + let original = r##"***foo** bar* +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_413() { + let original = r##"*foo **bar*** +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_414() { + let original = r##"*foo**bar*** +"##; + let expected = r##"

foobar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_415() { + let original = r##"foo***bar***baz +"##; + let expected = r##"

foobarbaz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_416() { + let original = r##"foo******bar*********baz +"##; + let expected = r##"

foobar***baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_417() { + let original = r##"*foo **bar *baz* bim** bop* +"##; + let expected = r##"

foo bar baz bim bop

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_418() { + let original = r##"*foo [*bar*](/url)* +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_419() { + let original = r##"** is not an empty emphasis +"##; + let expected = r##"

** is not an empty emphasis

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_420() { + let original = r##"**** is not an empty strong emphasis +"##; + let expected = r##"

**** is not an empty strong emphasis

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_421() { + let original = r##"**foo [bar](/url)** +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_422() { + let original = r##"**foo +bar** +"##; + let expected = r##"

foo +bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_423() { + let original = r##"__foo _bar_ baz__ +"##; + let expected = r##"

foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_424() { + let original = r##"__foo __bar__ baz__ +"##; + let expected = r##"

foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_425() { + let original = r##"____foo__ bar__ +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_426() { + let original = r##"**foo **bar**** +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_427() { + let original = r##"**foo *bar* baz** +"##; + let expected = r##"

foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_428() { + let original = r##"**foo*bar*baz** +"##; + let expected = r##"

foobarbaz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_429() { + let original = r##"***foo* bar** +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_430() { + let original = r##"**foo *bar*** +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_431() { + let original = r##"**foo *bar **baz** +bim* bop** +"##; + let expected = r##"

foo bar baz +bim bop

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_432() { + let original = r##"**foo [*bar*](/url)** +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_433() { + let original = r##"__ is not an empty emphasis +"##; + let expected = r##"

__ is not an empty emphasis

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_434() { + let original = r##"____ is not an empty strong emphasis +"##; + let expected = r##"

____ is not an empty strong emphasis

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_435() { + let original = r##"foo *** +"##; + let expected = r##"

foo ***

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_436() { + let original = r##"foo *\** +"##; + let expected = r##"

foo *

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_437() { + let original = r##"foo *_* +"##; + let expected = r##"

foo _

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_438() { + let original = r##"foo ***** +"##; + let expected = r##"

foo *****

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_439() { + let original = r##"foo **\*** +"##; + let expected = r##"

foo *

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_440() { + let original = r##"foo **_** +"##; + let expected = r##"

foo _

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_441() { + let original = r##"**foo* +"##; + let expected = r##"

*foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_442() { + let original = r##"*foo** +"##; + let expected = r##"

foo*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_443() { + let original = r##"***foo** +"##; + let expected = r##"

*foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_444() { + let original = r##"****foo* +"##; + let expected = r##"

***foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_445() { + let original = r##"**foo*** +"##; + let expected = r##"

foo*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_446() { + let original = r##"*foo**** +"##; + let expected = r##"

foo***

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_447() { + let original = r##"foo ___ +"##; + let expected = r##"

foo ___

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_448() { + let original = r##"foo _\__ +"##; + let expected = r##"

foo _

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_449() { + let original = r##"foo _*_ +"##; + let expected = r##"

foo *

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_450() { + let original = r##"foo _____ +"##; + let expected = r##"

foo _____

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_451() { + let original = r##"foo __\___ +"##; + let expected = r##"

foo _

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_452() { + let original = r##"foo __*__ +"##; + let expected = r##"

foo *

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_453() { + let original = r##"__foo_ +"##; + let expected = r##"

_foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_454() { + let original = r##"_foo__ +"##; + let expected = r##"

foo_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_455() { + let original = r##"___foo__ +"##; + let expected = r##"

_foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_456() { + let original = r##"____foo_ +"##; + let expected = r##"

___foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_457() { + let original = r##"__foo___ +"##; + let expected = r##"

foo_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_458() { + let original = r##"_foo____ +"##; + let expected = r##"

foo___

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_459() { + let original = r##"**foo** +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_460() { + let original = r##"*_foo_* +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_461() { + let original = r##"__foo__ +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_462() { + let original = r##"_*foo*_ +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_463() { + let original = r##"****foo**** +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_464() { + let original = r##"____foo____ +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_465() { + let original = r##"******foo****** +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_466() { + let original = r##"***foo*** +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_467() { + let original = r##"_____foo_____ +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_468() { + let original = r##"*foo _bar* baz_ +"##; + let expected = r##"

foo _bar baz_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_469() { + let original = r##"*foo __bar *baz bim__ bam* +"##; + let expected = r##"

foo bar *baz bim bam

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_470() { + let original = r##"**foo **bar baz** +"##; + let expected = r##"

**foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_471() { + let original = r##"*foo *bar baz* +"##; + let expected = r##"

*foo bar baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_472() { + let original = r##"*[bar*](/url) +"##; + let expected = r##"

*bar*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_473() { + let original = r##"_foo [bar_](/url) +"##; + let expected = r##"

_foo bar_

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_474() { + let original = r##"* +"##; + let expected = r##"

*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_475() { + let original = r##"** +"##; + let expected = r##"

**

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_476() { + let original = r##"__ +"##; + let expected = r##"

__

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_477() { + let original = r##"*a `*`* +"##; + let expected = r##"

a *

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_478() { + let original = r##"_a `_`_ +"##; + let expected = r##"

a _

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_479() { + let original = r##"**a +"##; + let expected = r##"

**ahttp://foo.bar/?q=**

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_480() { + let original = r##"__a +"##; + let expected = r##"

__ahttp://foo.bar/?q=__

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_481() { + let original = r##"[link](/uri "title") +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_482() { + let original = r##"[link](/uri) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_483() { + let original = r##"[](./target.md) +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_484() { + let original = r##"[link]() +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_485() { + let original = r##"[link](<>) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_486() { + let original = r##"[]() +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_487() { + let original = r##"[link](/my uri) +"##; + let expected = r##"

[link](/my uri)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_488() { + let original = r##"[link](
) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_489() { + let original = r##"[link](foo +bar) +"##; + let expected = r##"

[link](foo +bar)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_490() { + let original = r##"[link]() +"##; + let expected = r##"

[link]()

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_491() { + let original = r##"[a]() +"##; + let expected = r##"

a

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_492() { + let original = r##"[link]() +"##; + let expected = r##"

[link](<foo>)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_493() { + let original = r##"[a]( +[a](c) +"##; + let expected = r##"

[a](<b)c +[a](<b)c> +[a](c)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_494() { + let original = r##"[link](\(foo\)) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_495() { + let original = r##"[link](foo(and(bar))) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_496() { + let original = r##"[link](foo(and(bar)) +"##; + let expected = r##"

[link](foo(and(bar))

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_497() { + let original = r##"[link](foo\(and\(bar\)) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_498() { + let original = r##"[link]() +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_499() { + let original = r##"[link](foo\)\:) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_500() { + let original = r##"[link](#fragment) + +[link](http://example.com#fragment) + +[link](http://example.com?foo=3#frag) +"##; + let expected = r##"

link

+

link

+

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_501() { + let original = r##"[link](foo\bar) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_502() { + let original = r##"[link](foo%20bä) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_503() { + let original = r##"[link]("title") +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_504() { + let original = r##"[link](/url "title") +[link](/url 'title') +[link](/url (title)) +"##; + let expected = r##"

link +link +link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_505() { + let original = r##"[link](/url "title \""") +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_506() { + let original = r##"[link](/url "title") +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_507() { + let original = r##"[link](/url "title "and" title") +"##; + let expected = r##"

[link](/url "title "and" title")

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_508() { + let original = r##"[link](/url 'title "and" title') +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_509() { + let original = r##"[link]( /uri + "title" ) +"##; + let expected = r##"

link

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_510() { + let original = r##"[link] (/uri) +"##; + let expected = r##"

[link] (/uri)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_511() { + let original = r##"[link [foo [bar]]](/uri) +"##; + let expected = r##"

link [foo [bar]]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_512() { + let original = r##"[link] bar](/uri) +"##; + let expected = r##"

[link] bar](/uri)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_513() { + let original = r##"[link [bar](/uri) +"##; + let expected = r##"

[link bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_514() { + let original = r##"[link \[bar](/uri) +"##; + let expected = r##"

link [bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_515() { + let original = r##"[link *foo **bar** `#`*](/uri) +"##; + let expected = r##"

link foo bar #

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_516() { + let original = r##"[![moon](moon.jpg)](/uri) +"##; + let expected = r##"

moon

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_517() { + let original = r##"[foo [bar](/uri)](/uri) +"##; + let expected = r##"

[foo bar](/uri)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_518() { + let original = r##"[foo *[bar [baz](/uri)](/uri)*](/uri) +"##; + let expected = r##"

[foo [bar baz](/uri)](/uri)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_519() { + let original = r##"![[[foo](uri1)](uri2)](uri3) +"##; + let expected = r##"

[foo](uri2)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_520() { + let original = r##"*[foo*](/uri) +"##; + let expected = r##"

*foo*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_521() { + let original = r##"[foo *bar](baz*) +"##; + let expected = r##"

foo *bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_522() { + let original = r##"*foo [bar* baz] +"##; + let expected = r##"

foo [bar baz]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_523() { + let original = r##"[foo +"##; + let expected = r##"

[foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_524() { + let original = r##"[foo`](/uri)` +"##; + let expected = r##"

[foo](/uri)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_525() { + let original = r##"[foo +"##; + let expected = r##"

[foohttp://example.com/?search=](uri)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_526() { + let original = r##"[foo][bar] + +[bar]: /url "title" +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_527() { + let original = r##"[link [foo [bar]]][ref] + +[ref]: /uri +"##; + let expected = r##"

link [foo [bar]]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_528() { + let original = r##"[link \[bar][ref] + +[ref]: /uri +"##; + let expected = r##"

link [bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_529() { + let original = r##"[link *foo **bar** `#`*][ref] + +[ref]: /uri +"##; + let expected = r##"

link foo bar #

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_530() { + let original = r##"[![moon](moon.jpg)][ref] + +[ref]: /uri +"##; + let expected = r##"

moon

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_531() { + let original = r##"[foo [bar](/uri)][ref] + +[ref]: /uri +"##; + let expected = r##"

[foo bar]ref

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_532() { + let original = r##"[foo *bar [baz][ref]*][ref] + +[ref]: /uri +"##; + let expected = r##"

[foo bar baz]ref

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_533() { + let original = r##"*[foo*][ref] + +[ref]: /uri +"##; + let expected = r##"

*foo*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_534() { + let original = r##"[foo *bar][ref]* + +[ref]: /uri +"##; + let expected = r##"

foo *bar*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_535() { + let original = r##"[foo + +[ref]: /uri +"##; + let expected = r##"

[foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_536() { + let original = r##"[foo`][ref]` + +[ref]: /uri +"##; + let expected = r##"

[foo][ref]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_537() { + let original = r##"[foo + +[ref]: /uri +"##; + let expected = r##"

[foohttp://example.com/?search=][ref]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_538() { + let original = r##"[foo][BaR] + +[bar]: /url "title" +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_539() { + let original = r##"[ẞ] + +[SS]: /url +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_540() { + let original = r##"[Foo + bar]: /url + +[Baz][Foo bar] +"##; + let expected = r##"

Baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_541() { + let original = r##"[foo] [bar] + +[bar]: /url "title" +"##; + let expected = r##"

[foo] bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_542() { + let original = r##"[foo] +[bar] + +[bar]: /url "title" +"##; + let expected = r##"

[foo] +bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_543() { + let original = r##"[foo]: /url1 + +[foo]: /url2 + +[bar][foo] +"##; + let expected = r##"

bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_544() { + let original = r##"[bar][foo\!] + +[foo!]: /url +"##; + let expected = r##"

[bar][foo!]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_545() { + let original = r##"[foo][ref[] + +[ref[]: /uri +"##; + let expected = r##"

[foo][ref[]

+

[ref[]: /uri

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_546() { + let original = r##"[foo][ref[bar]] + +[ref[bar]]: /uri +"##; + let expected = r##"

[foo][ref[bar]]

+

[ref[bar]]: /uri

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_547() { + let original = r##"[[[foo]]] + +[[[foo]]]: /url +"##; + let expected = r##"

[[[foo]]]

+

[[[foo]]]: /url

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_548() { + let original = r##"[foo][ref\[] + +[ref\[]: /uri +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_549() { + let original = r##"[bar\\]: /uri + +[bar\\] +"##; + let expected = r##"

bar\

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_550() { + let original = r##"[] + +[]: /uri +"##; + let expected = r##"

[]

+

[]: /uri

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_551() { + let original = r##"[ + ] + +[ + ]: /uri +"##; + let expected = r##"

[ +]

+

[ +]: /uri

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_552() { + let original = r##"[foo][] + +[foo]: /url "title" +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_553() { + let original = r##"[*foo* bar][] + +[*foo* bar]: /url "title" +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_554() { + let original = r##"[Foo][] + +[foo]: /url "title" +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_555() { + let original = r##"[foo] +[] + +[foo]: /url "title" +"##; + let expected = r##"

foo +[]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_556() { + let original = r##"[foo] + +[foo]: /url "title" +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_557() { + let original = r##"[*foo* bar] + +[*foo* bar]: /url "title" +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_558() { + let original = r##"[[*foo* bar]] + +[*foo* bar]: /url "title" +"##; + let expected = r##"

[foo bar]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_559() { + let original = r##"[[bar [foo] + +[foo]: /url +"##; + let expected = r##"

[[bar foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_560() { + let original = r##"[Foo] + +[foo]: /url "title" +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_561() { + let original = r##"[foo] bar + +[foo]: /url +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_562() { + let original = r##"\[foo] + +[foo]: /url "title" +"##; + let expected = r##"

[foo]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_563() { + let original = r##"[foo*]: /url + +*[foo*] +"##; + let expected = r##"

*foo*

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_564() { + let original = r##"[foo][bar] + +[foo]: /url1 +[bar]: /url2 +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_565() { + let original = r##"[foo][] + +[foo]: /url1 +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_566() { + let original = r##"[foo]() + +[foo]: /url1 +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_567() { + let original = r##"[foo](not a link) + +[foo]: /url1 +"##; + let expected = r##"

foo(not a link)

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_568() { + let original = r##"[foo][bar][baz] + +[baz]: /url +"##; + let expected = r##"

[foo]bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_569() { + let original = r##"[foo][bar][baz] + +[baz]: /url1 +[bar]: /url2 +"##; + let expected = r##"

foobaz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_570() { + let original = r##"[foo][bar][baz] + +[baz]: /url1 +[foo]: /url2 +"##; + let expected = r##"

[foo]bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_571() { + let original = r##"![foo](/url "title") +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_572() { + let original = r##"![foo *bar*] + +[foo *bar*]: train.jpg "train & tracks" +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_573() { + let original = r##"![foo ![bar](/url)](/url2) +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_574() { + let original = r##"![foo [bar](/url)](/url2) +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_575() { + let original = r##"![foo *bar*][] + +[foo *bar*]: train.jpg "train & tracks" +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_576() { + let original = r##"![foo *bar*][foobar] + +[FOOBAR]: train.jpg "train & tracks" +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_577() { + let original = r##"![foo](train.jpg) +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_578() { + let original = r##"My ![foo bar](/path/to/train.jpg "title" ) +"##; + let expected = r##"

My foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_579() { + let original = r##"![foo]() +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_580() { + let original = r##"![](/url) +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_581() { + let original = r##"![foo][bar] + +[bar]: /url +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_582() { + let original = r##"![foo][bar] + +[BAR]: /url +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_583() { + let original = r##"![foo][] + +[foo]: /url "title" +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_584() { + let original = r##"![*foo* bar][] + +[*foo* bar]: /url "title" +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_585() { + let original = r##"![Foo][] + +[foo]: /url "title" +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_586() { + let original = r##"![foo] +[] + +[foo]: /url "title" +"##; + let expected = r##"

foo +[]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_587() { + let original = r##"![foo] + +[foo]: /url "title" +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_588() { + let original = r##"![*foo* bar] + +[*foo* bar]: /url "title" +"##; + let expected = r##"

foo bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_589() { + let original = r##"![[foo]] + +[[foo]]: /url "title" +"##; + let expected = r##"

![[foo]]

+

[[foo]]: /url "title"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_590() { + let original = r##"![Foo] + +[foo]: /url "title" +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_591() { + let original = r##"!\[foo] + +[foo]: /url "title" +"##; + let expected = r##"

![foo]

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_592() { + let original = r##"\![foo] + +[foo]: /url "title" +"##; + let expected = r##"

!foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_593() { + let original = r##" +"##; + let expected = r##"

http://foo.bar.baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_594() { + let original = r##" +"##; + let expected = r##"

http://foo.bar.baz/test?q=hello&id=22&boolean

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_595() { + let original = r##" +"##; + let expected = r##"

irc://foo.bar:2233/baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_596() { + let original = r##" +"##; + let expected = r##"

MAILTO:FOO@BAR.BAZ

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_597() { + let original = r##" +"##; + let expected = r##"

a+b+c:d

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_598() { + let original = r##" +"##; + let expected = r##"

made-up-scheme://foo,bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_599() { + let original = r##" +"##; + let expected = r##"

http://../

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_600() { + let original = r##" +"##; + let expected = r##"

localhost:5001/foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_601() { + let original = r##" +"##; + let expected = r##"

<http://foo.bar/baz bim>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_602() { + let original = r##" +"##; + let expected = r##"

http://example.com/\[\

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_603() { + let original = r##" +"##; + let expected = r##"

foo@bar.example.com

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_604() { + let original = r##" +"##; + let expected = r##"

foo+special@Bar.baz-bar0.com

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_605() { + let original = r##" +"##; + let expected = r##"

<foo+@bar.example.com>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_606() { + let original = r##"<> +"##; + let expected = r##"

<>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_607() { + let original = r##"< http://foo.bar > +"##; + let expected = r##"

< http://foo.bar >

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_608() { + let original = r##" +"##; + let expected = r##"

<m:abc>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_609() { + let original = r##" +"##; + let expected = r##"

<foo.bar.baz>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_610() { + let original = r##"http://example.com +"##; + let expected = r##"

http://example.com

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_611() { + let original = r##"foo@bar.example.com +"##; + let expected = r##"

foo@bar.example.com

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_612() { + let original = r##" +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_613() { + let original = r##" +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_614() { + let original = r##" +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_615() { + let original = r##" +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_616() { + let original = r##"Foo +"##; + let expected = r##"

Foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_617() { + let original = r##"<33> <__> +"##; + let expected = r##"

<33> <__>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_618() { + let original = r##"
+"##; + let expected = r##"

<a h*#ref="hi">

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_619() { + let original = r##"
<a href="hi'> <a href=hi'>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_620() { + let original = r##"< a>< +foo> + +"##; + let expected = r##"

< a>< +foo><bar/ > +<foo bar=baz +bim!bop />

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_621() { + let original = r##"
+"##; + let expected = r##"

<a href='bar'title=title>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_622() { + let original = r##"
+"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_623() { + let original = r##" +"##; + let expected = r##"

</a href="foo">

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_624() { + let original = r##"foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_625() { + let original = r##"foo +"##; + let expected = r##"

foo <!-- not a comment -- two hyphens -->

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_626() { + let original = r##"foo foo --> + +foo +"##; + let expected = r##"

foo <!--> foo -->

+

foo <!-- foo--->

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_627() { + let original = r##"foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_628() { + let original = r##"foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_629() { + let original = r##"foo &<]]> +"##; + let expected = r##"

foo &<]]>

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_630() { + let original = r##"foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_631() { + let original = r##"foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_632() { + let original = r##" +"##; + let expected = r##"

<a href=""">

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_633() { + let original = r##"foo +baz +"##; + let expected = r##"

foo
+baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_634() { + let original = r##"foo\ +baz +"##; + let expected = r##"

foo
+baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_635() { + let original = r##"foo +baz +"##; + let expected = r##"

foo
+baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_636() { + let original = r##"foo + bar +"##; + let expected = r##"

foo
+bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_637() { + let original = r##"foo\ + bar +"##; + let expected = r##"

foo
+bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_638() { + let original = r##"*foo +bar* +"##; + let expected = r##"

foo
+bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_639() { + let original = r##"*foo\ +bar* +"##; + let expected = r##"

foo
+bar

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_640() { + let original = r##"`code +span` +"##; + let expected = r##"

code span

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_641() { + let original = r##"`code\ +span` +"##; + let expected = r##"

code\ span

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_642() { + let original = r##"
+"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_643() { + let original = r##" +"##; + let expected = r##"

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_644() { + let original = r##"foo\ +"##; + let expected = r##"

foo\

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_645() { + let original = r##"foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_646() { + let original = r##"### foo\ +"##; + let expected = r##"

foo\

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_647() { + let original = r##"### foo +"##; + let expected = r##"

foo

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_648() { + let original = r##"foo +baz +"##; + let expected = r##"

foo +baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_649() { + let original = r##"foo + baz +"##; + let expected = r##"

foo +baz

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_650() { + let original = r##"hello $.;'there +"##; + let expected = r##"

hello $.;'there

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_651() { + let original = r##"Foo χρῆν +"##; + let expected = r##"

Foo χρῆν

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn spec_test_652() { + let original = r##"Multiple spaces +"##; + let expected = r##"

Multiple spaces

+"##; + + test_markdown_html(original, expected, false); +} diff --git a/vendor/pulldown-cmark/tests/suite/table.rs b/vendor/pulldown-cmark/tests/suite/table.rs new file mode 100644 index 000000000..c034955e1 --- /dev/null +++ b/vendor/pulldown-cmark/tests/suite/table.rs @@ -0,0 +1,205 @@ +// This file is auto-generated by the build script +// Please, do not modify it manually + +use super::test_markdown_html; + +#[test] +fn table_test_1() { + let original = r##"Test header +----------- +"##; + let expected = r##"

Test header

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_2() { + let original = r##"Test|Table +----|----- +"##; + let expected = r##" +
TestTable
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_3() { + let original = r##"> Test | Table +> ------|------ +> Row 1 | Every +> Row 2 | Day +> +> Paragraph +"##; + let expected = r##"
+ + + +
Test Table
Row 1 Every
Row 2 Day
+

Paragraph

+
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_4() { + let original = r##" 1. First entry + 2. Second entry + + Col 1|Col 2 + -|- + Row 1|Part 2 + Row 2|Part 2 +"##; + let expected = r##"
    +
  1. +

    First entry

    +
  2. +
  3. +

    Second entry

    + + + +
    Col 1Col 2
    Row 1Part 2
    Row 2Part 2
    +
  4. +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_5() { + let original = r##"|Col 1|Col 2| +|-----|-----| +|R1C1 |R1C2 | +|R2C1 |R2C2 | +"##; + let expected = r##" + + +
Col 1Col 2
R1C1 R1C2
R2C1 R2C2
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_6() { + let original = r##"| Col 1 | Col 2 | +|-------|-------| +| | | +| | | +"##; + let expected = r##" + + +
Col 1 Col 2
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_7() { + let original = r##"| Col 1 | Col 2 | +|-------|-------| +| x | | +| | x | +"##; + let expected = r##" + + +
Col 1 Col 2
x
x
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_8() { + let original = r##"|Col 1|Col 2| +|-----|-----| +|✓ |✓ | +|✓ |✓ | +"##; + let expected = r##" + + +
Col 1Col 2
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_9() { + let original = r##"| Target | std |rustc|cargo| notes | +|-------------------------------|-----|-----|-----|----------------------------| +| `x86_64-unknown-linux-musl` | ✓ | | | 64-bit Linux with MUSL | +| `arm-linux-androideabi` | ✓ | | | ARM Android | +| `arm-unknown-linux-gnueabi` | ✓ | ✓ | | ARM Linux (2.6.18+) | +| `arm-unknown-linux-gnueabihf` | ✓ | ✓ | | ARM Linux (2.6.18+) | +| `aarch64-unknown-linux-gnu` | ✓ | | | ARM64 Linux (2.6.18+) | +| `mips-unknown-linux-gnu` | ✓ | | | MIPS Linux (2.6.18+) | +| `mipsel-unknown-linux-gnu` | ✓ | | | MIPS (LE) Linux (2.6.18+) | +"##; + let expected = r##" + + + + + + + +
Target std rustccargo notes
x86_64-unknown-linux-musl 64-bit Linux with MUSL
arm-linux-androideabi ARM Android
arm-unknown-linux-gnueabi ARM Linux (2.6.18+)
arm-unknown-linux-gnueabihf ARM Linux (2.6.18+)
aarch64-unknown-linux-gnu ARM64 Linux (2.6.18+)
mips-unknown-linux-gnu MIPS Linux (2.6.18+)
mipsel-unknown-linux-gnu MIPS (LE) Linux (2.6.18+)
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_10() { + let original = r##"|-|-| +|ぃ|い| +"##; + let expected = r##"

|-|-| +|ぃ|い|

+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_11() { + let original = r##"|ぁ|ぃ| +|-|-| +|ぃ|ぃ| +"##; + let expected = r##" + +
+"##; + + test_markdown_html(original, expected, false); +} + +#[test] +fn table_test_12() { + let original = r##"|Колонка 1|Колонка 2| +|---------|---------| +|Ячейка 1 |Ячейка 2 | +"##; + let expected = r##" + +
Колонка 1Колонка 2
Ячейка 1 Ячейка 2
+"##; + + test_markdown_html(original, expected, false); +} -- cgit v1.2.3