diff options
Diffstat (limited to '')
| -rw-r--r-- | tests/autolink.rs | 5 | ||||
| -rw-r--r-- | tests/character_escape.rs | 5 | ||||
| -rw-r--r-- | tests/character_reference.rs | 5 | ||||
| -rw-r--r-- | tests/code_text.rs | 5 | ||||
| -rw-r--r-- | tests/definition.rs | 5 | ||||
| -rw-r--r-- | tests/html_flow.rs | 5 | ||||
| -rw-r--r-- | tests/html_text.rs | 5 | ||||
| -rw-r--r-- | tests/misc_dangerous_html.rs | 5 | ||||
| -rw-r--r-- | tests/misc_default_line_ending.rs | 56 | ||||
| -rw-r--r-- | tests/misc_line_ending.rs | 161 | ||||
| -rw-r--r-- | tests/misc_tabs.rs | 5 | 
11 files changed, 244 insertions, 18 deletions
| diff --git a/tests/autolink.rs b/tests/autolink.rs index 51873ed..3882264 100644 --- a/tests/autolink.rs +++ b/tests/autolink.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: true, +    default_line_ending: None,  };  #[test] diff --git a/tests/character_escape.rs b/tests/character_escape.rs index ba94ab3..e4f23d2 100644 --- a/tests/character_escape.rs +++ b/tests/character_escape.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: true, +    default_line_ending: None,  };  #[test] diff --git a/tests/character_reference.rs b/tests/character_reference.rs index f2337ab..136ce17 100644 --- a/tests/character_reference.rs +++ b/tests/character_reference.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: true, +    default_line_ending: None,  };  #[test] diff --git a/tests/code_text.rs b/tests/code_text.rs index bab6dd6..054d8e2 100644 --- a/tests/code_text.rs +++ b/tests/code_text.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: false, +    default_line_ending: None,  };  #[test] diff --git a/tests/definition.rs b/tests/definition.rs index c15e44b..a8e8164 100644 --- a/tests/definition.rs +++ b/tests/definition.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: true, +    default_line_ending: None,  };  #[test] diff --git a/tests/html_flow.rs b/tests/html_flow.rs index 53105a6..d942642 100644 --- a/tests/html_flow.rs +++ b/tests/html_flow.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: false, +    default_line_ending: None,  };  #[test] diff --git a/tests/html_text.rs b/tests/html_text.rs index 1f85ac4..e70a4da 100644 --- a/tests/html_text.rs +++ b/tests/html_text.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: false, +    default_line_ending: None,  };  #[test] diff --git a/tests/misc_dangerous_html.rs b/tests/misc_dangerous_html.rs index 7a0b49a..76031c1 100644 --- a/tests/misc_dangerous_html.rs +++ b/tests/misc_dangerous_html.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: true, +    default_line_ending: None,  };  #[test] diff --git a/tests/misc_default_line_ending.rs b/tests/misc_default_line_ending.rs new file mode 100644 index 0000000..fb4e1df --- /dev/null +++ b/tests/misc_default_line_ending.rs @@ -0,0 +1,56 @@ +extern crate micromark; +// use micromark::{micromark, micromark_with_options, Options}; + +#[test] +fn default_line_ending() { +    // To do: blockquote. +    // assert_eq!( +    //     micromark("> a"), +    //     "<blockquote>\n<p>a</p>\n</blockquote>", +    //     "should use `\\n` default" +    // ); + +    // assert_eq!( +    //     micromark("> a\n"), +    //     "<blockquote>\n<p>a</p>\n</blockquote>\n", +    //     "should infer the first line ending (1)" +    // ); + +    // assert_eq!( +    //     micromark("> a\r"), +    //     "<blockquote>\r<p>a</p>\r</blockquote>\r", +    //     "should infer the first line ending (2)" +    // ); + +    // assert_eq!( +    //     micromark("> a\r\n"), +    //     "<blockquote>\r\n<p>a</p>\r\n</blockquote>\r\n", +    //     "should infer the first line ending (3)" +    // ); + +    // assert_eq!( +    //     micromark_with_options( +    //         "> a", +    //         &Options { +    //             // default_line_ending: "\r", +    //             allow_dangerous_html: false, +    //             allow_dangerous_protocol: false +    //         } +    //     ), +    //     "<blockquote>\r<p>a</p>\r</blockquote>", +    //     "should support the given line ending" +    // ); + +    // assert_eq!( +    //     micromark_with_options( +    //         "> a\n", +    //         &Options { +    //             // default_line_ending: "\r", +    //             allow_dangerous_html: false, +    //             allow_dangerous_protocol: false +    //         } +    //     ), +    //     "<blockquote>\r<p>a</p>\r</blockquote>\n", +    //     "should support the given line ending, even if line endings exist" +    // ); +} diff --git a/tests/misc_line_ending.rs b/tests/misc_line_ending.rs new file mode 100644 index 0000000..195ddaa --- /dev/null +++ b/tests/misc_line_ending.rs @@ -0,0 +1,161 @@ +extern crate micromark; +use micromark::{micromark, micromark_with_options, Options}; + +const DANGER: &Options = &Options { +    allow_dangerous_html: true, +    allow_dangerous_protocol: true, +    default_line_ending: None, +}; + +#[test] +fn line_ending() { +    assert_eq!( +        micromark("a\nb"), +        "<p>a\nb</p>", +        "should support a line feed for a line ending inside a paragraph" +    ); + +    assert_eq!( +        micromark("a\rb"), +        "<p>a\rb</p>", +        "should support a carriage return for a line ending inside a paragraph" +    ); + +    assert_eq!( +        micromark("a\r\nb"), +        "<p>a\r\nb</p>", +        "should support a carriage return + line feed for a line ending inside a paragraph" +    ); + +    assert_eq!( +        micromark("\ta\n\tb"), +        "<pre><code>a\nb\n</code></pre>", +        "should support a line feed in indented code (and prefer it)" +    ); + +    assert_eq!( +        micromark("\ta\r\tb"), +        "<pre><code>a\rb\r</code></pre>", +        "should support a carriage return in indented code (and prefer it)" +    ); + +    assert_eq!( +        micromark("\ta\r\n\tb"), +        "<pre><code>a\r\nb\r\n</code></pre>", +        "should support a carriage return + line feed in indented code (and prefer it)" +    ); + +    assert_eq!( +        micromark("***\n### Heading"), +        "<hr />\n<h3>Heading</h3>", +        "should support a line feed between flow" +    ); + +    assert_eq!( +        micromark("***\r### Heading"), +        "<hr />\r<h3>Heading</h3>", +        "should support a carriage return between flow" +    ); + +    assert_eq!( +        micromark("***\r\n### Heading"), +        "<hr />\r\n<h3>Heading</h3>", +        "should support a carriage return + line feed between flow" +    ); + +    assert_eq!( +        micromark("***\n\n\n### Heading\n"), +        "<hr />\n<h3>Heading</h3>\n", +        "should support several line feeds between flow" +    ); + +    assert_eq!( +        micromark("***\r\r\r### Heading\r"), +        "<hr />\r<h3>Heading</h3>\r", +        "should support several carriage returns between flow" +    ); + +    assert_eq!( +        micromark("***\r\n\r\n\r\n### Heading\r\n"), +        "<hr />\r\n<h3>Heading</h3>\r\n", +        "should support several carriage return + line feeds between flow" +    ); + +    assert_eq!( +        micromark("```x\n\n\ny\n\n\n```\n\n\n"), +        "<pre><code class=\"language-x\">\n\ny\n\n\n</code></pre>\n", +        "should support several line feeds in fenced code" +    ); + +    assert_eq!( +        micromark("```x\r\r\ry\r\r\r```\r\r\r"), +        "<pre><code class=\"language-x\">\r\ry\r\r\r</code></pre>\r", +        "should support several carriage returns in fenced code" +    ); + +    assert_eq!( +        micromark("```x\r\n\r\n\r\ny\r\n\r\n\r\n```\r\n\r\n\r\n"), +        "<pre><code class=\"language-x\">\r\n\r\ny\r\n\r\n\r\n</code></pre>\r\n", +        "should support several carriage return + line feeds in fenced code" +    ); + +    assert_eq!( +        micromark("A\r\nB\r\n-\r\nC"), +        "<h2>A\r\nB</h2>\r\n<p>C</p>", +        "should support a carriage return + line feed in content" +    ); + +    assert_eq!( +        micromark_with_options("<div\n", DANGER), +        "<div\n", +        "should support a line feed after html" +    ); + +    assert_eq!( +        micromark_with_options("<div\r", DANGER), +        "<div\r", +        "should support a carriage return after html" +    ); + +    assert_eq!( +        micromark_with_options("<div\r\n", DANGER), +        "<div\r\n", +        "should support a carriage return + line feed after html" +    ); + +    assert_eq!( +        micromark_with_options("<div>\n\nx", DANGER), +        "<div>\n<p>x</p>", +        "should support a blank line w/ line feeds after html" +    ); + +    assert_eq!( +        micromark_with_options("<div>\r\rx", DANGER), +        "<div>\r<p>x</p>", +        "should support a blank line w/ carriage returns after html" +    ); + +    assert_eq!( +        micromark_with_options("<div>\r\n\r\nx", DANGER), +        "<div>\r\n<p>x</p>", +        "should support a blank line w/ carriage return + line feeds after html" +    ); + +    assert_eq!( +        micromark_with_options("<div>\nx", DANGER), +        "<div>\nx", +        "should support a non-blank line w/ line feed in html" +    ); + +    assert_eq!( +        micromark_with_options("<div>\rx", DANGER), +        "<div>\rx", +        "should support a non-blank line w/ carriage return in html" +    ); + +    assert_eq!( +        micromark_with_options("<div>\r\nx", DANGER), +        "<div>\r\nx", +        "should support a non-blank line w/ carriage return + line feed in html" +    ); +} diff --git a/tests/misc_tabs.rs b/tests/misc_tabs.rs index 46588e7..e9a0b72 100644 --- a/tests/misc_tabs.rs +++ b/tests/misc_tabs.rs @@ -1,9 +1,10 @@  extern crate micromark; -use micromark::{micromark, micromark_with_options, CompileOptions}; +use micromark::{micromark, micromark_with_options, Options}; -const DANGER: &CompileOptions = &CompileOptions { +const DANGER: &Options = &Options {      allow_dangerous_html: true,      allow_dangerous_protocol: true, +    default_line_ending: None,  };  #[test] | 
