blob: e54489e2b65c4a7dfb1192d3e964ea9deda2e32d [file] [log] [blame]
// 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##"<h1 id="myh1">with the ID</h1>
<h2 class="myclass">with a class</h2>
<h2 id="myh3" class="myclass1 myclass2">multiple!</h2>
"##;
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##"<h1 id="myh1">with the ID</h1>
<h2 class="myclass">with a class</h2>
<h3 id="myh3" class="myclass1 myclass2">multiple!</h3>
"##;
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 id="id1">H1</h1>
<h2 id="id2">H2 ## with ## multiple ## hashes</h2>
<h3 id="id3">with trailing hash #</h3>
<h4>non-attribute-block {#id4}</h4>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_4() {
let original = r##"# spaces {#myid1}
## tabs {#myid2}
"##;
let expected = r##"<h1 id="myid1">spaces</h1>
<h2 id="myid2">tabs</h2>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_5() {
let original = r##"# H1 \
nextline
"##;
let expected = r##"<h1>H1 \</h1>
<p>nextline</p>
"##;
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>H1 \</h1>
<p>{#myid}</p>
<h2>H2 \</h2>
<p>nextline {.class}</p>
<h3>H3 [link</h3>
<p>](https://example.com/) {#myid3}</p>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_7() {
let original = r##"H1
cont
{#myid}
==
"##;
let expected = r##"<h1 id="myid">H1
cont
</h1>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_8() {
let original = r##"H1
{
.class1
.class2
}
==
"##;
let expected = r##"<h1>H1
{
.class1
.class2
}</h1>
"##;
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##"<h1 id="id1">without space, not recommended</h1>
<h2 id="id2">recommended style with spaces</h2>
"##;
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 id="id1">H1</h1>
<h2 id="id2" class="myclass">H2</h2>
<h3 class="myclass">H3</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 id="id1.class1.class2" class="class3">H1</h1>
<h2 class="class1#id2.class2">H2</h2>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_12() {
let original = r##"# H1 { #id1
## H2 {#id2
"##;
let expected = r##"<h1>H1 { #id1</h1>
<h2>H2 {#id2</h2>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_13() {
let original = r##"# H1 #id1 }
## H2 #id2}
"##;
let expected = r##"<h1>H1 #id1 }</h1>
<h2>H2 #id2}</h2>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_14() {
let original = r##"# H1 { #id1 } foo
## H2 {#id2} <!-- hello -->
"##;
let expected = r##"<h1>H1 { #id1 } foo</h1>
<h2>H2 {#id2} <!-- hello --></h2>
"##;
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 id="id1"><em>H1</em></h1>
<h2 id="id2"><strong>H2</strong></h2>
<h3 id="id3"><em>H3</em></h3>
<h4 id="id4"><del>H4</del></h4>
<h5 id="id5"><a href="uri">text</a></h5>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_16() {
let original = r##"# H1 {#first #second #last}
"##;
let expected = r##"<h1 id="last">H1</h1>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_17() {
let original = r##"# H1 {.z .a .zz}
"##;
let expected = r##"<h1 class="z a zz">H1</h1>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_18() {
let original = r##"# H1 {.a .a .a}
"##;
let expected = r##"<h1 class="a a a">H1</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 id="myid" class="myclass">H1</h1>
<h2 id="m" class="z a">H2</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>H1</h1>
<h2 id="myid" class="myclass">H2</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>H1 {.foo</h1>
<h2 class="bar">H2 {.foo</h2>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_22() {
let original = r##"# H1 {.foo}bar}
"##;
let expected = r##"<h1>H1 {.foo}bar}</h1>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_23() {
let original = r##"# H1 {<i>foo</i>}
"##;
let expected = r##"<h1>H1 {<i>foo</i>}</h1>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_24() {
let original = r##"# H1 {.foo\}
"##;
let expected = r##"<h1>H1 {.foo}</h1>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_25() {
let original = r##"H1 {.foo
.bar}
==
"##;
let expected = r##"<h1>H1 {.foo
.bar}</h1>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_26() {
let original = r##"H1 {} {}
=====
## H2 {} {}
"##;
let expected = r##"<h1>H1 {}</h1>
<h2>H2 {}</h2>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_27() {
let original = r##"## H2 {} ##
"##;
let expected = r##"<h2>H2 {}</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>H1 {}</h1>
<h2>this is also ok {}</h2>
<h2>newline can be used for setext heading {
}</h2>
"##;
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 class="foo">H1 \</h1>
<h2 class="bar">H2 \</h2>
<h3>stray backslash at the end is preserved \</h3>
"##;
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 class="foo">H1 \</h1>
<h2 class="bar">H2 \</h2>
<h2>stray backslash at the end is preserved \</h2>
"##;
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 id="`code`">H1</h1>
<h2 id="foo__bar__baz">H2</h2>
<h3 id="foo**bar**baz">H3</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 id="`code`">H1</h1>
<h2 id="foo__bar__baz">H2-1</h2>
<h2 id="foo**bar**baz">H2-2</h2>
"##;
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 class="foo#bar">H1</h1>
<h2 id="foo.bar">H2</h2>
<h3 class="a&quot;b'c&amp;d">H3</h3>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_34() {
let original = r##"# H1 {#}
## H2 {.}
"##;
let expected = r##"<h1>H1</h1>
<h2>H2</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 id="foo">H1</h1>
<h1 class="foo bar">H1</h1>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_36() {
let original = r##"# {}
## {}
### {\}
#### {} {}
#{}
"##;
let expected = r##"<h1></h1>
<h2></h2>
<h3>{}</h3>
<h4>{}</h4>
<p>#{}</p>
"##;
test_markdown_html(original, expected, false);
}
#[test]
fn heading_attrs_test_37() {
let original = r##"{}
==
\{}
--
\
--
{\}
==
{}{}
--
"##;
let expected = r##"<h1></h1>
<h2>\</h2>
<h2>\</h2>
<h1>{}</h1>
<h2>{}</h2>
"##;
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##"<h1>horizontal tab </h1>
<h1 id="ht">horizontal tab </h1>
<h2>form feed </h2>
<h2 id="ff">form feed </h2>
<h3>vertical tab </h3>
<h3 id="vt">vertical tab </h3>
"##;
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##"<h1 id="ht" class="myclass">horizontal tab (U+000A)</h1>
<h2 id="ff" class="myclass">form feed (U+000C)</h2>
<h1 id="vt .myclass">vertical tab (U+000B)</h1>
"##;
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##"<h1 id="en-space .myclass">EN SPACE (U+2002)</h1>
<h2 id="ideographic-space .myclass">IDEOGRAPHIC SPACE (U+3000)</h2>
"##;
test_markdown_html(original, expected, false);
}