diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/RunTests.hs | 1 | ||||
-rw-r--r-- | tests/tables.textile | 211 | ||||
-rw-r--r-- | tests/writer.textile | 676 |
3 files changed, 888 insertions, 0 deletions
diff --git a/tests/RunTests.hs b/tests/RunTests.hs index d6259ffaf..5c6e136e3 100644 --- a/tests/RunTests.hs +++ b/tests/RunTests.hs @@ -60,6 +60,7 @@ writerFormats = [ "native" , "markdown" , "rst" , "mediawiki" + , "textile" , "rtf" ] diff --git a/tests/tables.textile b/tests/tables.textile new file mode 100644 index 000000000..d05cd4f9a --- /dev/null +++ b/tests/tables.textile @@ -0,0 +1,211 @@ +Simple table with caption: + + <table> + <caption>Demonstration of simple table syntax.</caption> + <thead> +<tr class="header"> +<th align="right">Right</th> +<th align="left">Left</th> +<th align="center">Center</th> +<th align="left">Default</th> +</tr> + </thead> + <tbody> +<tr class="odd"> +<td align="right">12</td> +<td align="left">12</td> +<td align="center">12</td> +<td align="left">12</td> +</tr> +<tr class="even"> +<td align="right">123</td> +<td align="left">123</td> +<td align="center">123</td> +<td align="left">123</td> +</tr> +<tr class="odd"> +<td align="right">1</td> +<td align="left">1</td> +<td align="center">1</td> +<td align="left">1</td> +</tr> + </tbody> + </table> + +Simple table without caption: + + <table> + <thead> +<tr class="header"> +<th align="right">Right</th> +<th align="left">Left</th> +<th align="center">Center</th> +<th align="left">Default</th> +</tr> + </thead> + <tbody> +<tr class="odd"> +<td align="right">12</td> +<td align="left">12</td> +<td align="center">12</td> +<td align="left">12</td> +</tr> +<tr class="even"> +<td align="right">123</td> +<td align="left">123</td> +<td align="center">123</td> +<td align="left">123</td> +</tr> +<tr class="odd"> +<td align="right">1</td> +<td align="left">1</td> +<td align="center">1</td> +<td align="left">1</td> +</tr> + </tbody> + </table> + +Simple table indented two spaces: + + <table> + <caption>Demonstration of simple table syntax.</caption> + <thead> +<tr class="header"> +<th align="right">Right</th> +<th align="left">Left</th> +<th align="center">Center</th> +<th align="left">Default</th> +</tr> + </thead> + <tbody> +<tr class="odd"> +<td align="right">12</td> +<td align="left">12</td> +<td align="center">12</td> +<td align="left">12</td> +</tr> +<tr class="even"> +<td align="right">123</td> +<td align="left">123</td> +<td align="center">123</td> +<td align="left">123</td> +</tr> +<tr class="odd"> +<td align="right">1</td> +<td align="left">1</td> +<td align="center">1</td> +<td align="left">1</td> +</tr> + </tbody> + </table> + +Multiline table with caption: + + <table> + <caption>Here's the caption. It may span multiple lines.</caption> + <col width="15%" /> + <col width="13%" /> + <col width="16%" /> + <col width="33%" /> + <thead> +<tr class="header"> +<th align="center">Centered Header</th> +<th align="left">Left Aligned</th> +<th align="right">Right Aligned</th> +<th align="left">Default aligned</th> +</tr> + </thead> + <tbody> +<tr class="odd"> +<td align="center">First</td> +<td align="left">row</td> +<td align="right">12.0</td> +<td align="left">Example of a row that spans multiple lines.</td> +</tr> +<tr class="even"> +<td align="center">Second</td> +<td align="left">row</td> +<td align="right">5.0</td> +<td align="left">Here's another one. Note the blank line between rows.</td> +</tr> + </tbody> + </table> + +Multiline table without caption: + + <table> + <col width="15%" /> + <col width="13%" /> + <col width="16%" /> + <col width="33%" /> + <thead> +<tr class="header"> +<th align="center">Centered Header</th> +<th align="left">Left Aligned</th> +<th align="right">Right Aligned</th> +<th align="left">Default aligned</th> +</tr> + </thead> + <tbody> +<tr class="odd"> +<td align="center">First</td> +<td align="left">row</td> +<td align="right">12.0</td> +<td align="left">Example of a row that spans multiple lines.</td> +</tr> +<tr class="even"> +<td align="center">Second</td> +<td align="left">row</td> +<td align="right">5.0</td> +<td align="left">Here's another one. Note the blank line between rows.</td> +</tr> + </tbody> + </table> + +Table without column headers: + + <table> + <tbody> +<tr class="odd"> +<td align="right">12</td> +<td align="left">12</td> +<td align="center">12</td> +<td align="right">12</td> +</tr> +<tr class="even"> +<td align="right">123</td> +<td align="left">123</td> +<td align="center">123</td> +<td align="right">123</td> +</tr> +<tr class="odd"> +<td align="right">1</td> +<td align="left">1</td> +<td align="center">1</td> +<td align="right">1</td> +</tr> + </tbody> + </table> + +Multiline table without column headers: + + <table> + <col width="15%" /> + <col width="13%" /> + <col width="16%" /> + <col width="33%" /> + <tbody> +<tr class="odd"> +<td align="center">First</td> +<td align="left">row</td> +<td align="right">12.0</td> +<td align="left">Example of a row that spans multiple lines.</td> +</tr> +<tr class="even"> +<td align="center">Second</td> +<td align="left">row</td> +<td align="right">5.0</td> +<td align="left">Here's another one. Note the blank line between rows.</td> +</tr> + </tbody> + </table> diff --git a/tests/writer.textile b/tests/writer.textile new file mode 100644 index 000000000..f0ff383f0 --- /dev/null +++ b/tests/writer.textile @@ -0,0 +1,676 @@ +This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. + +<hr /> + +h1. Headers + +h2. Level 2 with an "embedded link":/url + +h3. Level 3 with _emphasis_ + +h4. Level 4 + +h5. Level 5 + +h1. Level 1 + +h2. Level 2 with _emphasis_ + +h3. Level 3 + +with no blank line + +h2. Level 2 + +with no blank line + +<hr /> + +h1. Paragraphs + +Here's a regular paragraph. + +In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item. + +Here's one with a bullet. * criminey. + +There should be a hard line break +here. + +<hr /> + +h1. Block Quotes + +E-mail style: + +bq. This is a block quote. It is pretty short. + +<blockquote> + +Code in a block quote: + +bc. sub status { + print "working"; +} + +A list: + +# item one +# item two + +Nested block quotes: + +bq. nested + +bq. nested + +</blockquote> + +This should not be a block quote: 2 > 1. + +And a following paragraph. + +<hr /> + +h1. Code Blocks + +Code: + +bc.. ---- (should be four hyphens) + +sub status { + print "working"; +} + +this code block is indented by one tab + +And: + +bc.. this code block is indented by two tabs + +These should not be escaped: \$ \\ \> \[ \{ + +<hr /> + +h1. Lists + +h2. Unordered + +Asterisks tight: + +* asterisk 1 +* asterisk 2 +* asterisk 3 + +Asterisks loose: + +* asterisk 1 +* asterisk 2 +* asterisk 3 + +Pluses tight: + +* Plus 1 +* Plus 2 +* Plus 3 + +Pluses loose: + +* Plus 1 +* Plus 2 +* Plus 3 + +Minuses tight: + +* Minus 1 +* Minus 2 +* Minus 3 + +Minuses loose: + +* Minus 1 +* Minus 2 +* Minus 3 + +h2. Ordered + +Tight: + +# First +# Second +# Third + +and: + +# One +# Two +# Three + +Loose using tabs: + +# First +# Second +# Third + +and using spaces: + +# One +# Two +# Three + +Multiple paragraphs: + + <ol style="list-style-type: decimal;"> + <li> <p>Item 1, graf one.</p> + <p>Item 1. graf two. The quick brown fox jumped over the lazy dog's back.</p></li> + <li> <p>Item 2.</p></li> + <li> <p>Item 3.</p></li> </ol> + +h2. Nested + +* Tab +** Tab +*** Tab + +Here's another: + +# First +# Second: +#* Fee +#* Fie +#* Foe +# Third + +Same thing but with paragraphs: + +# First +# Second: +#* Fee +#* Fie +#* Foe +# Third + +h2. Tabs and spaces + +* this is a list item indented with tabs +* this is a list item indented with spaces +** this is an example list item indented with tabs +** this is an example list item indented with spaces + +h2. Fancy list markers + + <ol start="2" style="list-style-type: decimal;"> + <li>begins with 2</li> + <li> <p>and now 3</p> + <p>with a continuation</p> + <ol start="4" style="list-style-type: lower-roman;"> + <li>sublist with roman numerals, starting with 4</li> + <li>more items + <ol style="list-style-type: upper-alpha;"> + <li>a subsublist</li> + <li>a subsublist</li> </ol> +</li> </ol> +</li> </ol> + +Nesting: + + <ol style="list-style-type: upper-alpha;"> + <li>Upper Alpha + <ol style="list-style-type: upper-roman;"> + <li>Upper Roman. + <ol start="6" style="list-style-type: decimal;"> + <li>Decimal start with 6 + <ol start="3" style="list-style-type: lower-alpha;"> + <li>Lower alpha with paren</li> </ol> +</li> </ol> +</li> </ol> +</li> </ol> + +Autonumbering: + +# Autonumber. +# More. +## Nested. + +Should not be a list item: + +M.A. 2007 + +B. Williams + +<hr /> + +h1. Definition Lists + +Tight using spaces: + + <dl> + <dt>apple</dt> + <dd>red fruit</dd> + <dt>orange</dt> + <dd>orange fruit</dd> + <dt>banana</dt> + <dd>yellow fruit</dd> </dl> + +Tight using tabs: + + <dl> + <dt>apple</dt> + <dd>red fruit</dd> + <dt>orange</dt> + <dd>orange fruit</dd> + <dt>banana</dt> + <dd>yellow fruit</dd> </dl> + +Loose: + + <dl> + <dt>apple</dt> + <dd> <p>red fruit</p></dd> + <dt>orange</dt> + <dd> <p>orange fruit</p></dd> + <dt>banana</dt> + <dd> <p>yellow fruit</p></dd> </dl> + +Multiple blocks with italics: + + <dl> + <dt>_apple_</dt> + <dd> <p>red fruit</p> + <p>contains seeds, crisp, pleasant to taste</p></dd> + <dt>_orange_</dt> + <dd> <p>orange fruit</p> +bc. { orange code block } + +bq. <p>orange block quote</p></dd> </dl> + +Multiple definitions, tight: + + <dl> + <dt>apple</dt> + <dd>red fruit</dd> + <dd>computer</dd> + <dt>orange</dt> + <dd>orange fruit</dd> + <dd>bank</dd> </dl> + +Multiple definitions, loose: + + <dl> + <dt>apple</dt> + <dd> <p>red fruit</p></dd> + <dd> <p>computer</p></dd> + <dt>orange</dt> + <dd> <p>orange fruit</p></dd> + <dd> <p>bank</p></dd> </dl> + +Blank line after term, indented marker, alternate markers: + + <dl> + <dt>apple</dt> + <dd> <p>red fruit</p></dd> + <dd> <p>computer</p></dd> + <dt>orange</dt> + <dd> <p>orange fruit</p> + <ol style="list-style-type: decimal;"> + <li>sublist</li> + <li>sublist</li> </ol> +</dd> </dl> + +h1. HTML Blocks + +Simple block on one line: + +<div> +foo +</div> + +And nested without indentation: + +<div> +<div> +<div> +foo +</div> +</div> +<div> +bar +</div> +</div> + +Interpreted markdown in a table: + +<table> +<tr> +<td> +This is _emphasized_ +</td> +<td> +And this is *strong* +</td> +</tr> +</table> + +<script type="text/javascript">document.write('This *should not* be interpreted as markdown');</script> + +Here's a simple block: + +<div> + +foo +</div> + +This should be a code block, though: + +bc. <div> + foo +</div> + +As should this: + +bc. <div>foo</div> + +Now, nested: + +<div> + <div> + <div> + +foo +</div> + </div> +</div> + +This should just be an HTML comment: + +<!-- Comment --> + +Multiline: + +<!-- +Blah +Blah +--> + +<!-- + This is another comment. +--> + +Code block: + +bc. <!-- Comment --> + +Just plain comment, with trailing spaces on the line: + +<!-- foo --> + +Code: + +bc. <hr /> + +Hr's: + +<hr> + +<hr /> + +<hr /> + +<hr> + +<hr /> + +<hr /> + +<hr class="foo" id="bar" /> + +<hr class="foo" id="bar" /> + +<hr class="foo" id="bar"> + +<hr /> + +h1. Inline Markup + +This is _emphasized_, and so _is this_. + +This is *strong*, and so *is this*. + +An _"emphasized link":/url_. + +*_This is strong and em._* + +So is *_this_* word. + +*_This is strong and em._* + +So is *_this_* word. + +This is code: @>@, @$@, @\@, @\$@, @<html>@. + +-This is _strikeout_.- + +Superscripts: a[^bc^]d a[^_hello_^] a[^hello there^]. + +Subscripts: H[~2~]O, H[~23~]O, H[~many of them~]O. + +These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. + +<hr /> + +h1. Smart quotes, ellipses, dashes + +"Hello," said the spider. "'Shelob' is my name." + +'A', 'B', and 'C' are letters. + +'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.' + +'He said, "I want to go."' Were you alive in the 70's? + +Here is some quoted '@code@' and a ""quoted link":http://example.com/?foo=1&bar=2". + +Some dashes: one -- two -- three -- four -- five. + +Dashes between numbers: 5 - 7, 255 - 66, 1987 - 1999. + +Ellipses...and...and.... + +<hr /> + +h1. LaTeX + +* +* <span class="math">2+2=4</math> +* <span class="math">x \in y</math> +* <span class="math">\alpha \wedge \omega</math> +* <span class="math">223</math> +* <span class="math">p</math>-Tree +* Here's some display math: <span class="math">\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}</math> +* Here's one that has a line break in it: <span class="math">\alpha + \omega \times x^2</math>. + +These shouldn't be math: + +* To get the famous equation, write @$e = mc^2$@. +* $22,000 is a _lot_ of money. So is $34,000. (It worked if "lot" is emphasized.) +* Shoes ($20) and socks ($5). +* Escaped @$@: $73 _this should be emphasized_ 23$. + +Here's a LaTeX table: + + + +<hr /> + +h1. Special Characters + +Here is some unicode: + +* I hat: Î +* o umlaut: ö +* section: § +* set membership: ∈ +* copyright: © + +AT&T has an ampersand in their name. + +AT&T is another way to write it. + +This & that. + +4 < 5. + +6 > 5. + +Backslash: \ + +Backtick: ` + +Asterisk: * + +Underscore: _ + +Left brace: { + +Right brace: } + +Left bracket: [ + +Right bracket: ] + +Left paren: ( + +Right paren: ) + +Greater-than: > + +Hash: # + +Period: . + +Bang: ! + +Plus: + + +Minus: - + +<hr /> + +h1. Links + +h2. Explicit + +Just a "URL":/url/. + +"URL and title":/url/. + +"URL and title":/url/. + +"URL and title":/url/. + +"URL and title":/url/ + +"URL and title":/url/ + +"with_underscore":/url/with_underscore + +"Email link":mailto:nobody@nowhere.net + +"Empty":. + +h2. Reference + +Foo "bar":/url/. + +Foo "bar":/url/. + +Foo "bar":/url/. + +With "embedded [brackets]":/url/. + +"b":/url/ by itself should be a link. + +Indented "once":/url. + +Indented "twice":/url. + +Indented "thrice":/url. + +This should [not][] be a link. + +bc. [not]: /url + +Foo "bar":/url/. + +Foo "biz":/url/. + +h2. With ampersands + +Here's a "link with an ampersand in the URL":http://example.com/?foo=1&bar=2. + +Here's a link with an amersand in the link text: "AT&T":http://att.com/. + +Here's an "inline link":/script?foo=1&bar=2. + +Here's an "inline link in pointy braces":/script?foo=1&bar=2. + +h2. Autolinks + +With an ampersand: "http://example.com/?foo=1&bar=2":http://example.com/?foo=1&bar=2 + +* In a list? +* "http://example.com/":http://example.com/ +* It should. + +An e-mail address: "nobody@nowhere.net":mailto:nobody@nowhere.net + +bq. Blockquoted: "http://example.com/":http://example.com/ + +Auto-links should not occur here: @<http://example.com/>@ + +bc. or here: <http://example.com/> + +<hr /> + +h1. Images + +From "Voyage dans la Lune" by Georges Melies (1902): + +!lalune.jpg(Voyage dans la Lune)! +lalune + +Here is a movie !movie.jpg(movie)! icon. + +<hr /> + +h1. Footnotes + +Here is a footnote reference,[1] and another.[2] This should _not_ be a footnote reference, because it contains a space.[^my note] Here is an inline note.[3] + +bq. Notes can go in quotes.[4] + +# And in list items.[5] + +This paragraph should not be part of the note, as it is not indented. + + +fn1. Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. + + +fn2. Here's the long note. This one contains multiple blocks. + +Subsequent blocks are indented to show that they belong to the footnote (as with list items). + +bc. { <code> } + +If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. + + +fn3. This is _easier_ to type. Inline notes may contain "links":http://google.com and @]@ verbatim characters, as well as [bracketed text]. + + +fn4. In quote. + + +fn5. In list. + |