aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2010-11-27 10:52:44 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2010-11-27 10:52:44 -0800
commitc989bf028fa226acb7b03039d0d77ef1e6a4700e (patch)
tree70c5d3af464d52e7d905f1039fdf3c37655ff8ef /tests
parentf0b7945b2007fa2356f638864ca644bb851b0c18 (diff)
parent71c9316a597298415a7d4cb7f758b523ac9339cd (diff)
downloadpandoc-c989bf028fa226acb7b03039d0d77ef1e6a4700e.tar.gz
Merge branch 'textile'
Conflicts: README man/man1/pandoc.1.md pandoc.cabal
Diffstat (limited to 'tests')
-rw-r--r--tests/RunTests.hs1
-rw-r--r--tests/tables.textile212
-rw-r--r--tests/writer.textile677
3 files changed, 890 insertions, 0 deletions
diff --git a/tests/RunTests.hs b/tests/RunTests.hs
index 1715400fd..cf2997a06 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..ccb34cf58
--- /dev/null
+++ b/tests/tables.textile
@@ -0,0 +1,212 @@
+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..b3e2e545b
--- /dev/null
+++ b/tests/writer.textile
@@ -0,0 +1,677 @@
+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. &#42; 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 &quot;working&quot;;
+}
+
+A list:
+
+# item one
+# item two
+
+Nested block quotes:
+
+bq. nested
+
+bq. nested
+
+</blockquote>
+
+This should not be a block quote: 2 &gt; 1.
+
+And a following paragraph.
+
+<hr />
+
+h1. Code Blocks
+
+Code:
+
+bc.. ---- (should be four hyphens)
+
+sub status {
+ print &quot;working&quot;;
+}
+
+this code block is indented by one tab
+
+And:
+
+bc.. this code block is indented by two tabs
+
+These should not be escaped: \$ \\ \&gt; \[ \{
+
+<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. &lt;div&gt;
+ foo
+&lt;/div&gt;
+
+As should this:
+
+bc. &lt;div&gt;foo&lt;/div&gt;
+
+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. &lt;!-- Comment --&gt;
+
+Just plain comment, with trailing spaces on the line:
+
+<!-- foo -->
+
+Code:
+
+bc. &lt;hr /&gt;
+
+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: @&gt;@, @$@, @\@, @\$@, @&lt;html&gt;@.
+
+-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&amp;T has an ampersand in their name.
+
+AT&amp;T is another way to write it.
+
+This &amp; that.
+
+4 &lt; 5.
+
+6 &gt; 5.
+
+Backslash: \
+
+Backtick: `
+
+Asterisk: &#42;
+
+Underscore: &#95;
+
+Left brace: {
+
+Right brace: }
+
+Left bracket: [
+
+Right bracket: ]
+
+Left paren: (
+
+Right paren: )
+
+Greater-than: &gt;
+
+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&#95;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&amp;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: @&lt;http://example.com/&gt;@
+
+bc. or here: &lt;http://example.com/&gt;
+
+<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. { &lt;code&gt; }
+
+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.
+
+