From 1d92666865b35341e076efbefddf6e73b5e1542e Mon Sep 17 00:00:00 2001
From: Titus Wormer * * *a* asd@012345678901234567890123456789012345678901234567890123456789012 asd@012345678901234567890123456789012345678901234567890123456789012 asd@012345678901234567890123456789012345678901234567890123456789012.a asd@012345678901234567890123456789012345678901234567890123456789012.a asd@a.012345678901234567890123456789012345678901234567890123456789012 asd@a.012345678901234567890123456789012345678901234567890123456789012 <a@b.co> b\nc > # a\n> b\n> c !"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ *not emphasized*\n<br/> not a tag\n[not a link](/foo)\n`not code`\n1. not a list\n* not a list\n# not a heading\n[foo]: /url "not a reference"\nö not a character entity \\> a \u{a0} & © Æ Ď\n¾ ℋ ⅆ\n∲ ≧̸   &x; &#; &#x;\n�\n&#abcdef0;\n&ThisIsNotDefined; &hi?; & ``` a a\nb a \n?> `a` foo foo !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ \ \A\a\ \3\φ\« *not emphasized*
<br/> not a tag
[not a link](/foo)
@@ -234,7 +234,7 @@ bar
r###"\\*emphasis*
"###,
&danger
- ),
+ )?,
r###" \emphasis foo\n
",
@@ -206,8 +206,10 @@ fn block_quote() {
},
..Options::default()
}
- ),
+ )?,
"a
\n
not a tag\n\\[not a link](/foo)\n\\`not code`\n1\\. not a list\n\\* not a list\n\\# not a heading\n\\[foo]: /url \"not a reference\"\n\\ö not a character entity"
- ),
+ "\\*not emphasized*\n\\
not a tag\n\\[not a link](/foo)\n\\`not code`\n1\\. not a list\n\\* not a list\n\\# not a heading\n\\[foo]: /url \"not a reference\"\n\\ö not a character entity"),
"
",
@@ -267,8 +267,10 @@ fn code_fenced() {
},
..Options::default()
}
- ),
+ )?,
"<\n >\n
",
@@ -127,37 +127,37 @@ fn code_indented() {
};
assert_eq!(
- micromark_with_options(" a", &off),
+ micromark_with_options(" a", &off)?,
"a simple\n indented code block\n
\n
",
"should support turning off code (indented, 2)"
);
assert_eq!(
- micromark_with_options("- a\n b", &off),
+ micromark_with_options("- a\n b", &off)?,
"\n
",
"should support turning off code (indented, 3)"
);
assert_eq!(
- micromark_with_options("- a\n - b", &off),
+ micromark_with_options("- a\n - b", &off)?,
"\n
",
"should support turning off code (indented, 4)"
);
assert_eq!(
- micromark_with_options("- a\n - b", &off),
+ micromark_with_options("- a\n - b", &off)?,
"\n
\n\n
",
"should support turning off code (indented, 5)"
);
assert_eq!(
- micromark_with_options("```\na\n ```", &off),
+ micromark_with_options("```\na\n ```", &off)?,
"\n
\n
",
"should support turning off code (indented, 6)"
);
@@ -169,20 +169,22 @@ fn code_indented() {
allow_dangerous_html: true,
..off.clone()
}
- ),
+ )?,
"a\n
\n
\n
",
"should support turning off code (indented, 8)"
);
assert_eq!(
- micromark_with_options("- Foo\n ---", &off),
+ micromark_with_options("- Foo\n ---", &off)?,
"\n
",
"should support turning off code (indented, 9)"
);
+
+ Ok(())
}
diff --git a/tests/code_text.rs b/tests/code_text.rs
index 5199e7e..a0ed13e 100644
--- a/tests/code_text.rs
+++ b/tests/code_text.rs
@@ -3,7 +3,7 @@ use micromark::{micromark, micromark_with_options, Constructs, Options};
use pretty_assertions::assert_eq;
#[test]
-fn code_text() {
+fn code_text() -> Result<(), String> {
let danger = Options {
allow_dangerous_html: true,
allow_dangerous_protocol: true,
@@ -107,7 +107,7 @@ fn code_text() {
);
assert_eq!(
- micromark_with_options("`", &danger),
+ micromark_with_options("`", &danger)?,
"",
"should have same precedence as HTML (2)"
);
@@ -165,8 +165,10 @@ fn code_text() {
},
..Options::default()
}
- ),
+ )?,
"Foo
\n
"###,
@@ -33,7 +33,7 @@ fn commonmark() {
r###" foo baz bim
"###,
&danger
- ),
+ )?,
r###"foo baz bim
"###,
@@ -46,7 +46,7 @@ fn commonmark() {
ὐ a
"###,
&danger
- ),
+ )?,
r###"foo baz bim
@@ -61,7 +61,7 @@ fn commonmark() {
bar
"###,
&danger
- ),
+ )?,
r###"a a
ὐ a
@@ -110,7 +110,7 @@ fn commonmark() {
r###"- foo
"###,
&danger
- ),
+ )?,
r###" foo
foo
@@ -127,7 +127,7 @@ fn commonmark() {
bar
"###,
&danger
- ),
+ )?,
r###"
@@ -142,7 +142,7 @@ bar
- baz
"###,
&danger
- ),
+ )?,
r###"foo
bar
@@ -163,7 +163,7 @@ bar
r###"# Foo
"###,
&danger
- ),
+ )?,
r###"
Foo
"###,
r###"Tabs (10)"###
@@ -174,7 +174,7 @@ bar
r###"* * *
"###,
&danger
- ),
+ )?,
r###"
"###,
r###"Tabs (11)"###
@@ -185,7 +185,7 @@ bar
r###"\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~
"###,
&danger
- ),
+ )?,
r###"
bar
\[\`
\[\]
"###,
@@ -283,7 +283,7 @@ bar
~~~
"###,
&danger
- ),
+ )?,
r###"\[\]
"###,
@@ -295,7 +295,7 @@ bar
r###"foo
"###,
@@ -357,7 +357,7 @@ foo
∲ ≧̸
"###,
&danger
- ),
+ )?,
r###"& © Æ Ď ¾ ℋ ⅆ ∲ ≧̸
@@ -370,7 +370,7 @@ foo r###"# Ӓ Ϡ "###, &danger - ), + )?, r###"# Ӓ Ϡ �
"###, r###"Entity and numeric character references (26)"### @@ -381,7 +381,7 @@ foo r###"" ആ ಫ "###, &danger - ), + )?, r###"" ആ ಫ
"###, r###"Entity and numeric character references (27)"### @@ -395,7 +395,7 @@ foo &ThisIsNotDefined; &hi?; "###, &danger - ), + )?, r###"  &x; &#; &#x; � &#abcdef0; @@ -409,7 +409,7 @@ foo r###"© "###, &danger - ), + )?, r###"
©
"###, r###"Entity and numeric character references (29)"### @@ -420,7 +420,7 @@ foo r###"&MadeUpEntity; "###, &danger - ), + )?, r###"&MadeUpEntity;
"###, r###"Entity and numeric character references (30)"### @@ -431,7 +431,7 @@ foo r###" "###, &danger - ), + )?, r###" "###, r###"Entity and numeric character references (31)"### @@ -442,7 +442,7 @@ foo r###"[foo](/föö "föö") "###, &danger - ), + )?, r###" "###, r###"Entity and numeric character references (32)"### @@ -455,7 +455,7 @@ foo [foo]: /föö "föö" "###, &danger - ), + )?, r###" "###, r###"Entity and numeric character references (33)"### @@ -468,7 +468,7 @@ foo ``` "###, &danger - ), + )?, r###"foo
"###,
@@ -480,7 +480,7 @@ foo
r###"`föö`
"###,
&danger
- ),
+ )?,
r###"föö
föfö
"###,
@@ -504,7 +504,7 @@ foo
*foo*
"###,
&danger
- ),
+ )?,
r###"*foo* foo
"###, @@ -518,7 +518,7 @@ foo * foo "###, &danger - ), + )?, r###"* foo
foo bar
@@ -545,7 +545,7 @@ bar r###" foo "###, &danger - ), + )?, r###"foo
"###, r###"Entity and numeric character references (40)"### @@ -556,7 +556,7 @@ bar r###"[a](url "tit") "###, &danger - ), + )?, r###"[a](url "tit")
"###, r###"Entity and numeric character references (41)"### @@ -568,7 +568,7 @@ bar - two` "###, &danger - ), + )?, r###"+++
"###, r###"Thematic breaks (44)"### @@ -608,7 +608,7 @@ ___ r###"=== "###, &danger - ), + )?, r###"===
"###, r###"Thematic breaks (45)"### @@ -621,7 +621,7 @@ ___ __ "###, &danger - ), + )?, r###"-- ** __
@@ -636,7 +636,7 @@ __ *** "###, &danger - ), + )?, r###"***
"###,
@@ -662,7 +662,7 @@ __
***
"###,
&danger
- ),
+ )?,
r###"Foo ***
"###, @@ -674,7 +674,7 @@ __ r###"_____________________________________ "###, &danger - ), + )?, r###"_ _ _ _ a
a------
---a---
@@ -746,7 +746,7 @@ a------ r###" *-* "###, &danger - ), + )?, r###"-
"###, r###"Thematic breaks (56)"### @@ -759,7 +759,7 @@ a------ - bar "###, &danger - ), + )?, r###"Foo
bar
@@ -793,7 +793,7 @@ bar bar "###, &danger - ), + )?, r###"bar
"###, @@ -807,7 +807,7 @@ bar * Bar "###, &danger - ), + )?, r###"####### foo
"###, r###"ATX headings (63)"### @@ -875,7 +875,7 @@ bar #hashtag "###, &danger - ), + )?, r###"#5 bolt
#hashtag
"###, @@ -887,7 +887,7 @@ bar r###"\## foo "###, &danger - ), + )?, r###"## foo
"###, r###"ATX headings (65)"### @@ -898,7 +898,7 @@ bar r###"# foo *bar* \*baz\* "###, &danger - ), + )?, r###"# foo
"###,
@@ -948,7 +948,7 @@ bar
# bar
"###,
&danger
- ),
+ )?,
r###"foo # bar
"###, @@ -961,7 +961,7 @@ bar ### bar ### "###, &danger - ), + )?, r###"Foo bar
Bar foo
@@ -1066,7 +1066,7 @@ Bar foo ### ### "###, &danger - ), + )?, r###" @@ -1083,7 +1083,7 @@ Foo *bar* --------- "###, &danger - ), + )?, r###"Foo
---
@@ -1180,7 +1180,7 @@ Foo
----
"###,
&danger
- ),
+ )?,
r###"Foo
"###,
r###"Setext headings (86)"###
@@ -1192,7 +1192,7 @@ Foo
---
"###,
&danger
- ),
+ )?,
r###"Foo
---
"###,
@@ -1208,7 +1208,7 @@ Foo
--- -
"###,
&danger
- ),
+ )?,
r###"Foo
= =
Foo
@@ -1223,7 +1223,7 @@ Foo
-----
"###,
&danger
- ),
+ )?,
r###"Foo
"###,
r###"Setext headings (89)"###
@@ -1235,7 +1235,7 @@ Foo
----
"###,
&danger
- ),
+ )?,
r###"Foo\
"###,
r###"Setext headings (90)"###
@@ -1252,7 +1252,7 @@ Foo
of dashes"/>
"###,
&danger
- ),
+ )?,
r###"`Foo
`
<a title="a lot
@@ -1267,7 +1267,7 @@ of dashes"/>
---
"###,
&danger
- ),
+ )?,
r###"
Foo
@@ -1283,7 +1283,7 @@ bar
===
"###,
&danger
- ),
+ )?,
r###"
foo
bar
@@ -1299,7 +1299,7 @@ bar
---
"###,
&danger
- ),
+ )?,
r###"
- Foo
@@ -1315,7 +1315,7 @@ Bar
---
"###,
&danger
- ),
+ )?,
r###"Foo
Bar
"###,
@@ -1332,7 +1332,7 @@ Bar
Baz
"###,
&danger
- ),
+ )?,
r###"
Foo
Bar
@@ -1347,7 +1347,7 @@ Baz
====
"###,
&danger
- ),
+ )?,
r###"====
"###,
r###"Setext headings (97)"###
@@ -1359,7 +1359,7 @@ Baz
---
"###,
&danger
- ),
+ )?,
r###"
"###,
@@ -1372,7 +1372,7 @@ Baz
-----
"###,
&danger
- ),
+ )?,
r###"
- foo
@@ -1387,7 +1387,7 @@ Baz
---
"###,
&danger
- ),
+ )?,
r###"foo
@@ -1401,7 +1401,7 @@ Baz
-----
"###,
&danger
- ),
+ )?,
r###"
foo
@@ -1416,7 +1416,7 @@ Baz
------
"###,
&danger
- ),
+ )?,
r###"> foo
"###,
r###"Setext headings (102)"###
@@ -1431,7 +1431,7 @@ bar
baz
"###,
&danger
- ),
+ )?,
r###"Foo
bar
baz
@@ -1449,7 +1449,7 @@ bar
baz
"###,
&danger
- ),
+ )?,
r###"Foo
bar
@@ -1466,7 +1466,7 @@ bar
baz
"###,
&danger
- ),
+ )?,
r###"Foo
bar
@@ -1483,7 +1483,7 @@ bar
baz
"###,
&danger
- ),
+ )?,
r###"Foo
bar
---
@@ -1498,7 +1498,7 @@ baz
indented code block
"###,
&danger
- ),
+ )?,
r###"a simple
indented code block
@@ -1513,7 +1513,7 @@ baz
bar
"###,
&danger
- ),
+ )?,
r###"
-
foo
@@ -1531,7 +1531,7 @@ baz
- bar
"###,
&danger
- ),
+ )?,
r###"
-
foo
@@ -1552,7 +1552,7 @@ baz
- one
"###,
&danger
- ),
+ )?,
r###"<a/>
*hi*
@@ -1573,7 +1573,7 @@ baz
chunk3
"###,
&danger
- ),
+ )?,
r###"chunk1
chunk2
@@ -1593,7 +1593,7 @@ chunk3
chunk2
"###,
&danger
- ),
+ )?,
r###"chunk1
chunk2
@@ -1609,7 +1609,7 @@ chunk3
"###,
&danger
- ),
+ )?,
r###"Foo
bar
"###,
@@ -1622,7 +1622,7 @@ bar
bar
"###,
&danger
- ),
+ )?,
r###"foo
bar
@@ -1640,7 +1640,7 @@ Heading
----
"###,
&danger
- ),
+ )?,
r###"Heading
foo
@@ -1658,7 +1658,7 @@ Heading
bar
"###,
&danger
- ),
+ )?,
r###" foo
bar
@@ -1675,7 +1675,7 @@ bar
"###,
&danger
- ),
+ )?,
r###"foo
"###,
@@ -1687,7 +1687,7 @@ bar
r###" foo
"###,
&danger
- ),
+ )?,
r###"foo
"###,
@@ -1702,7 +1702,7 @@ bar
```
"###,
&danger
- ),
+ )?,
r###"<
>
@@ -1718,7 +1718,7 @@ bar
~~~
"###,
&danger
- ),
+ )?,
r###"<
>
@@ -1733,7 +1733,7 @@ foo
``
"###,
&danger
- ),
+ )?,
r###"foo
"###,
r###"Fenced code blocks (121)"###
@@ -1747,7 +1747,7 @@ aaa
```
"###,
&danger
- ),
+ )?,
r###"aaa
~~~
@@ -1763,7 +1763,7 @@ aaa
~~~
"###,
&danger
- ),
+ )?,
r###"aaa
```
@@ -1779,7 +1779,7 @@ aaa
``````
"###,
&danger
- ),
+ )?,
r###"aaa
```
@@ -1795,7 +1795,7 @@ aaa
~~~~
"###,
&danger
- ),
+ )?,
r###"aaa
~~~
@@ -1808,7 +1808,7 @@ aaa
r###"```
"###,
&danger
- ),
+ )?,
r###"
"###,
r###"Fenced code blocks (126)"###
@@ -1822,7 +1822,7 @@ aaa
aaa
"###,
&danger
- ),
+ )?,
r###"
```
aaa
@@ -1839,7 +1839,7 @@ aaa
bbb
"###,
&danger
- ),
+ )?,
r###"
aaa
@@ -1857,7 +1857,7 @@ bbb
```
"###,
&danger
- ),
+ )?,
r###"
@@ -1871,7 +1871,7 @@ bbb
```
"###,
&danger
- ),
+ )?,
r###"
"###,
r###"Fenced code blocks (130)"###
@@ -1885,7 +1885,7 @@ aaa
```
"###,
&danger
- ),
+ )?,
r###"aaa
aaa
@@ -1902,7 +1902,7 @@ aaa
```
"###,
&danger
- ),
+ )?,
r###"aaa
aaa
aaa
@@ -1920,7 +1920,7 @@ aaa
```
"###,
&danger
- ),
+ )?,
r###"aaa
aaa
aaa
@@ -1936,7 +1936,7 @@ aaa
```
"###,
&danger
- ),
+ )?,
r###"```
aaa
```
@@ -1952,7 +1952,7 @@ aaa
```
"###,
&danger
- ),
+ )?,
r###"aaa
"###,
@@ -1966,7 +1966,7 @@ aaa
```
"###,
&danger
- ),
+ )?,
r###"aaa
"###,
@@ -1980,7 +1980,7 @@ aaa
```
"###,
&danger
- ),
+ )?,
r###"aaa
```
@@ -1994,7 +1994,7 @@ aaa
aaa
"###,
&danger
- ),
+ )?,
r###"
aaa
"###,
@@ -2008,7 +2008,7 @@ aaa
~~~ ~~
"###,
&danger
- ),
+ )?,
r###"aaa
~~~ ~~
@@ -2025,7 +2025,7 @@ bar
baz
"###,
&danger
- ),
+ )?,
r###"foo
bar
@@ -2044,7 +2044,7 @@ bar
# baz
"###,
&danger
- ),
+ )?,
r###"foo
bar
@@ -2062,7 +2062,7 @@ end
```
"###,
&danger
- ),
+ )?,
r###"def foo(x)
return 3
end
@@ -2080,7 +2080,7 @@ end
~~~~~~~
"###,
&danger
- ),
+ )?,
r###"def foo(x)
return 3
end
@@ -2095,7 +2095,7 @@ end
````
"###,
&danger
- ),
+ )?,
r###"
"###,
r###"Fenced code blocks (144)"###
@@ -2107,7 +2107,7 @@ end
foo
"###,
&danger
- ),
+ )?,
r###"aa
foo
"###,
@@ -2121,7 +2121,7 @@ foo
~~~
"###,
&danger
- ),
+ )?,
r###"foo
"###,
@@ -2135,7 +2135,7 @@ foo
```
"###,
&danger
- ),
+ )?,
r###"``` aaa
"###,
@@ -2153,7 +2153,7 @@ _world_.
"###,
&danger
- ),
+ )?,
r###"
**Hello**,
@@ -2177,7 +2177,7 @@ _world_.
okay.
"###,
&danger
- ),
+ )?,
r###"
foo
@@ -2354,7 +2354,7 @@ int x = 33;
```
"###,
&danger
- ),
+ )?,
r###"
``` c
int x = 33;
@@ -2370,7 +2370,7 @@ int x = 33;
"###,
&danger
- ),
+ )?,
r###"
*bar*
@@ -2385,7 +2385,7 @@ int x = 33;
"###,
&danger
- ),
+ )?,
r###"
*bar*
@@ -2400,7 +2400,7 @@ int x = 33;
"###,
&danger
- ),
+ )?,
r###"
*bar*
@@ -2414,7 +2414,7 @@ int x = 33;
*bar*
"###,
&danger
- ),
+ )?,
r###"
*bar*
"###,
@@ -2428,7 +2428,7 @@ int x = 33;
"###,
&danger
- ),
+ )?,
r###"
*foo*
@@ -2445,7 +2445,7 @@ int x = 33;
"###,
&danger
- ),
+ )?,
r###"
foo
@@ -2458,7 +2458,7 @@ int x = 33;
r###"*foo*
"###,
&danger
- ),
+ )?,
r###"foo
"###,
r###"HTML blocks (168)"###
@@ -2475,7 +2475,7 @@ main = print $ parseTags tags
okay
"###,
&danger
- ),
+ )?,
r###"
import Text.HTML.TagSoup
@@ -2497,7 +2497,7 @@ document.getElementById("demo").innerHTML = "Hello JavaScript!";
okay
"###,
&danger
- ),
+ )?,
r###"1. *bar*
"###,
&danger
- ),
+ )?,
r###"1. *bar*
@@ -2656,7 +2656,7 @@ bar
okay
"###,
&danger
- ),
+ )?,
r###"
"###,
&danger
- ),
+ )?,
r###"
<!-- foo -->
@@ -2755,7 +2755,7 @@ function matchwo(a,b)
"###,
&danger
- ),
+ )?,
r###"
<div>
@@ -2771,7 +2771,7 @@ bar
"###,
&danger
- ),
+ )?,
r###"Foo
bar
@@ -2788,7 +2788,7 @@ bar
*foo*
"###,
&danger
- ),
+ )?,
r###"
bar
@@ -2804,7 +2804,7 @@ bar
baz
"###,
&danger
- ),
+ )?,
r###"Foo
baz
@@ -2821,7 +2821,7 @@ baz
"###,
&danger
- ),
+ )?,
r###"
Emphasized text.
@@ -2836,7 +2836,7 @@ baz
"###,
&danger
- ),
+ )?,
r###"
*Emphasized* text.
@@ -2859,7 +2859,7 @@ Hi
"###,
&danger
- ),
+ )?,
r###"
@@ -2886,7 +2886,7 @@ Hi
"###,
&danger
- ),
+ )?,
r###"