-
Notifications
You must be signed in to change notification settings - Fork 228
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #872 from notriddle/notriddle/strikethrough-0.11
[0.11] Adjust strikethrough flanking rule to better fit Rustdoc Crater run
- Loading branch information
Showing
5 changed files
with
306 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
This is an extension of gfm_strikethrough.txt. Some of these tests are also pulled from commonmark-hs. | ||
|
||
# Two tildes | ||
|
||
Basic strikethrough is between two tildes: | ||
|
||
```````````````````````````````` example | ||
~~This is *stricken out*~~ | ||
. | ||
<p><del>This is <em>stricken out</em></del></p> | ||
```````````````````````````````` | ||
|
||
Backslash escapes: | ||
|
||
```````````````````````````````` example | ||
~~This is \~\~stricken~~ | ||
. | ||
<p><del>This is ~~stricken</del></p> | ||
```````````````````````````````` | ||
|
||
Intraword strikeout: | ||
|
||
```````````````````````````````` example | ||
This~~is~~stricken | ||
. | ||
<p>This<del>is</del>stricken</p> | ||
```````````````````````````````` | ||
|
||
```````````````````````````````` example | ||
~~This~~is~~stricken~~ | ||
. | ||
<p><del>This</del>is<del>stricken</del></p> | ||
```````````````````````````````` | ||
|
||
Punctuation is ignored for purposes of determining | ||
flankingness on two tildes: | ||
|
||
```````````````````````````````` example | ||
Here I strike out an exclamation point~~!~~. | ||
. | ||
<p>Here I strike out an exclamation point<del>!</del>.</p> | ||
```````````````````````````````` | ||
|
||
# One tilde | ||
|
||
One tilde—and this is where we differ from commonmark-hs—is allowed in certain situations: | ||
|
||
```````````````````````````````` example | ||
~This is stricken out~ | ||
. | ||
<p><del>This is stricken out</del></p> | ||
```````````````````````````````` | ||
|
||
Backslash escapes: | ||
|
||
```````````````````````````````` example | ||
~This is \~stricken~ | ||
. | ||
<p><del>This is ~stricken</del></p> | ||
```````````````````````````````` | ||
|
||
Intraword strikeout requires two tildes: | ||
|
||
```````````````````````````````` example | ||
This~is~nothing | ||
. | ||
<p>This~is~nothing</p> | ||
```````````````````````````````` | ||
|
||
```````````````````````````````` example | ||
~This~is~nothing~ | ||
. | ||
<p><del>This~is~nothing</del></p> | ||
```````````````````````````````` | ||
|
||
Punctuation is used for purposes of determining | ||
flankingness: | ||
|
||
```````````````````````````````` example | ||
Here I fail to strike out an exclamation point~!~. | ||
. | ||
<p>Here I fail to strike out an exclamation point~!~.</p> | ||
```````````````````````````````` | ||
|
||
Tilde runs can't mix. | ||
|
||
```````````````````````````````` example | ||
Here I fail to strike out a tilde ~~~. | ||
. | ||
<p>Here I fail to strike out a tilde ~~~.</p> | ||
```````````````````````````````` | ||
|
||
```````````````````````````````` example | ||
Here I fail to match up ~~tildes~. | ||
. | ||
<p>Here I fail to match up ~~tildes~.</p> | ||
```````````````````````````````` | ||
|
||
```````````````````````````````` example | ||
Here I fail to match up ~tildes~~. | ||
. | ||
<p>Here I fail to match up ~tildes~~.</p> | ||
```````````````````````````````` | ||
|
||
Double tildes are allowed to contain single tildes, and the other way around: | ||
|
||
```````````````````````````````` example | ||
~~This ~is stricken.~~ | ||
. | ||
<p><del>This ~is stricken.</del></p> | ||
```````````````````````````````` | ||
|
||
```````````````````````````````` example | ||
~This ~~is stricken.~ | ||
. | ||
<p><del>This ~~is stricken.</del></p> | ||
```````````````````````````````` | ||
|
||
The first one wins. | ||
|
||
```````````````````````````````` example | ||
~This ~~is stricken~ but this is not~~ | ||
. | ||
<p><del>This ~~is stricken</del> but this is not~~</p> | ||
```````````````````````````````` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,4 +14,5 @@ mod old_footnotes; | |
mod regression; | ||
mod smart_punct; | ||
mod spec; | ||
mod strikethrough; | ||
mod table; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
// This file is auto-generated by the build script | ||
// Please, do not modify it manually | ||
|
||
use super::test_markdown_html; | ||
|
||
#[test] | ||
fn strikethrough_test_1() { | ||
let original = r##"~~This is *stricken out*~~ | ||
"##; | ||
let expected = r##"<p><del>This is <em>stricken out</em></del></p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_2() { | ||
let original = r##"~~This is \~\~stricken~~ | ||
"##; | ||
let expected = r##"<p><del>This is ~~stricken</del></p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_3() { | ||
let original = r##"This~~is~~stricken | ||
"##; | ||
let expected = r##"<p>This<del>is</del>stricken</p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_4() { | ||
let original = r##"~~This~~is~~stricken~~ | ||
"##; | ||
let expected = r##"<p><del>This</del>is<del>stricken</del></p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_5() { | ||
let original = r##"Here I strike out an exclamation point~~!~~. | ||
"##; | ||
let expected = r##"<p>Here I strike out an exclamation point<del>!</del>.</p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_6() { | ||
let original = r##"~This is stricken out~ | ||
"##; | ||
let expected = r##"<p><del>This is stricken out</del></p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_7() { | ||
let original = r##"~This is \~stricken~ | ||
"##; | ||
let expected = r##"<p><del>This is ~stricken</del></p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_8() { | ||
let original = r##"This~is~nothing | ||
"##; | ||
let expected = r##"<p>This~is~nothing</p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_9() { | ||
let original = r##"~This~is~nothing~ | ||
"##; | ||
let expected = r##"<p><del>This~is~nothing</del></p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_10() { | ||
let original = r##"Here I fail to strike out an exclamation point~!~. | ||
"##; | ||
let expected = r##"<p>Here I fail to strike out an exclamation point~!~.</p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_11() { | ||
let original = r##"Here I fail to strike out a tilde ~~~. | ||
"##; | ||
let expected = r##"<p>Here I fail to strike out a tilde ~~~.</p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_12() { | ||
let original = r##"Here I fail to match up ~~tildes~. | ||
"##; | ||
let expected = r##"<p>Here I fail to match up ~~tildes~.</p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_13() { | ||
let original = r##"Here I fail to match up ~tildes~~. | ||
"##; | ||
let expected = r##"<p>Here I fail to match up ~tildes~~.</p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_14() { | ||
let original = r##"~~This ~is stricken.~~ | ||
"##; | ||
let expected = r##"<p><del>This ~is stricken.</del></p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_15() { | ||
let original = r##"~This ~~is stricken.~ | ||
"##; | ||
let expected = r##"<p><del>This ~~is stricken.</del></p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} | ||
|
||
#[test] | ||
fn strikethrough_test_16() { | ||
let original = r##"~This ~~is stricken~ but this is not~~ | ||
"##; | ||
let expected = r##"<p><del>This ~~is stricken</del> but this is not~~</p> | ||
"##; | ||
|
||
test_markdown_html(original, expected, false, false, false); | ||
} |