TWiki Reader: add basic syntax test

This commit is contained in:
Alexander Sulfrian 2014-10-30 15:31:38 +01:00
parent c3780992ab
commit 79f25fb9ce
4 changed files with 399 additions and 0 deletions

View file

@ -182,6 +182,7 @@ Extra-Source-Files:
tests/epub/*.epub
tests/epub/*.native
tests/txt2tags.t2t
tests/twiki-reader.twiki
Source-repository head
type: git

View file

@ -153,6 +153,9 @@ tests = [ testGroup "markdown"
, test "formatting" ["-r", "epub", "-w", "native"]
"epub/formatting.epub" "epub/formatting.native"
]
, testGroup "twiki"
[ test "reader" ["-r", "twiki", "-w", "native", "-s"]
"twiki-reader.twiki" "twiki-reader.native" ]
, testGroup "other writers" $ map (\f -> testGroup f $ writerTests f)
[ "opendocument" , "context" , "texinfo", "icml"
, "man" , "plain" , "rtf", "org", "asciidoc"

174
tests/twiki-reader.native Normal file
View file

@ -0,0 +1,174 @@
Pandoc (Meta {unMeta = fromList []})
[Header 1 ("header",[],[]) [Str "header"]
,Header 2 ("header-level-two",[],[]) [Str "header",Space,Str "level",Space,Str "two"]
,Header 3 ("header-level-3",[],[]) [Str "header",Space,Str "level",Space,Str "3"]
,Header 4 ("header-level-four",[],[]) [Str "header",Space,Emph [Str "level"],Space,Str "four"]
,Header 5 ("header-level-5",[],[]) [Str "header",Space,Str "level",Space,Str "5"]
,Header 6 ("header-level-6",[],[]) [Str "header",Space,Str "level",Space,Str "6"]
,Para [Str "---+++++++",Space,Str "not",Space,Str "a",Space,Str "header"]
,Para [Str "--++",Space,Str "not",Space,Str "a",Space,Str "header"]
,Header 1 ("emph-and-strong",[],[]) [Str "emph",Space,Str "and",Space,Str "strong"]
,Para [Emph [Str "emph"],Space,Strong [Str "strong"]]
,Para [Emph [Strong [Str "strong",Space,Str "and",Space,Str "emph"]]]
,Para [Strong [Emph [Str "emph",Space,Str "inside"],Space,Str "strong"]]
,Para [Strong [Str "strong",Space,Str "with",Space,Emph [Str "emph"]]]
,Para [Emph [Strong [Str "strong",Space,Str "inside"],Space,Str "emph"]]
,Header 1 ("horizontal-rule",[],[]) [Str "horizontal",Space,Str "rule"]
,Para [Str "top"]
,HorizontalRule
,Para [Str "bottom"]
,HorizontalRule
,Header 1 ("nop",[],[]) [Str "nop"]
,Para [Str "_not",Space,Str "emph_"]
,Header 1 ("entities",[],[]) [Str "entities"]
,Para [Str "hi",Space,Str "&",Space,Str "low"]
,Para [Str "hi",Space,Str "&",Space,Str "low"]
,Para [Str "G\246del"]
,Para [Str "\777\2730"]
,Header 1 ("comments",[],[]) [Str "comments"]
,Para [Str "inline",Space,Str "comment"]
,Para [Str "between",Space,Str "blocks"]
,Header 1 ("linebreaks",[],[]) [Str "linebreaks"]
,Para [Str "hi",LineBreak,Str "there"]
,Para [Str "hi",LineBreak,Space,Str "there"]
,Header 1 ("inline-code",[],[]) [Str "inline",Space,Str "code"]
,Para [Code ("",[],[]) "*\8594*",Space,Code ("",[],[]) "typed",Space,Code ("",["haskell"],[]) ">>="]
,Header 1 ("code-blocks",[],[]) [Str "code",Space,Str "blocks"]
,CodeBlock ("",[],[]) "case xs of\n (_:_) -> reverse xs\n [] -> ['*']"
,CodeBlock ("",["haskell"],[]) "case xs of\n (_:_) -> reverse xs\n [] -> ['*']"
,Header 1 ("block-quotes",[],[]) [Str "block",Space,Str "quotes"]
,Para [Str "Regular",Space,Str "paragraph"]
,BlockQuote
[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote."]
,Para [Str "With",Space,Str "two",Space,Str "paragraphs."]]
,Para [Str "Nother",Space,Str "paragraph."]
,Header 1 ("external-links",[],[]) [Str "external",Space,Str "links"]
,Para [Link [Emph [Str "Google"],Space,Str "search",Space,Str "engine"] ("http://google.com","")]
,Para [Link [Str "http://johnmacfarlane.net/pandoc/"] ("http://johnmacfarlane.net/pandoc/","")]
,Para [Link [Str "http://google.com"] ("http://google.com",""),Space,Link [Str "http://yahoo.com"] ("http://yahoo.com","")]
,Para [Link [Str "email",Space,Str "me"] ("mailto:info@example.org","")]
,Para [Str "http://google.com"]
,Para [Str "http://google.com"]
,Para [Str "http://google.com"]
,Para [Str "info@example.org"]
,Para [Str "info@example.org"]
,Para [Str "info@example.org"]
,Header 1 ("lists",[],[]) [Str "lists"]
,BulletList
[[Plain [Str "Start",Space,Str "each",Space,Str "line"]]
,[Plain [Str "with",Space,Str "an",Space,Str "asterisk",Space,Str "(*)."]
,BulletList
[[Plain [Str "More",Space,Str "asterisks",Space,Str "gives",Space,Str "deeper"]
,BulletList
[[Plain [Str "and",Space,Str "deeper",Space,Str "levels."]]]]]]
,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."]]
,[Plain [Str "Continuations",Space,Str "are",Space,Str "also",Space,Str "possible"]
,BulletList
[[Plain [Str "and",Space,Str "do",Space,Str "not",Space,Str "break",Space,Str "the",Space,Str "list",Space,Str "flow"]]]]
,[Plain [Str "Level",Space,Str "one"]]]
,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "ends",Space,Str "the",Space,Str "list."]
,OrderedList (1,DefaultStyle,DefaultDelim)
[[Plain [Str "Start",Space,Str "each",Space,Str "line"]]
,[Plain [Str "with",Space,Str "a",Space,Str "number",Space,Str "(1.)."]
,OrderedList (1,DefaultStyle,DefaultDelim)
[[Plain [Str "More",Space,Str "number",Space,Str "signs",Space,Str "gives",Space,Str "deeper"]
,OrderedList (1,DefaultStyle,DefaultDelim)
[[Plain [Str "and",Space,Str "deeper"]]
,[Plain [Str "levels."]]]]]]
,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."]]
,[Plain [Str "Blank",Space,Str "lines"]]]
,OrderedList (1,DefaultStyle,DefaultDelim)
[[Plain [Str "end",Space,Str "the",Space,Str "list",Space,Str "and",Space,Str "start",Space,Str "another."]]]
,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "also",Space,Str "ends",Space,Str "the",Space,Str "list."]
,DefinitionList
[([Str "item",Space,Str "1"],
[[Plain [Str "definition",Space,Str "1"]]])
,([Str "item",Space,Str "2"],
[[Plain [Str "definition",Space,Str "2-1",Space,Str "definition",Space,Str "2-2"]]])
,([Str "item",Space,Emph [Str "3"]],
[[Plain [Str "definition",Space,Emph [Str "3"]]]])]
,OrderedList (1,DefaultStyle,DefaultDelim)
[[Plain [Str "one"]]
,[Plain [Str "two"]
,BulletList
[[Plain [Str "two",Space,Str "point",Space,Str "one"]]
,[Plain [Str "two",Space,Str "point",Space,Str "two"]]]]
,[Plain [Str "three"]
,DefinitionList
[([Str "three",Space,Str "item",Space,Str "one"],
[[Plain [Str "three",Space,Str "def",Space,Str "one"]]])]]
,[Plain [Str "four"]
,DefinitionList
[([Str "four",Space,Str "def",Space,Str "one"],
[[Plain [Str "this",Space,Str "is",Space,Str "a",Space,Str "continuation"]]])]]
,[Plain [Str "five"]
,OrderedList (1,DefaultStyle,DefaultDelim)
[[Plain [Str "five",Space,Str "sub",Space,Str "1"]
,OrderedList (1,DefaultStyle,DefaultDelim)
[[Plain [Str "five",Space,Str "sub",Space,Str "1",Space,Str "sub",Space,Str "1"]]]]
,[Plain [Str "five",Space,Str "sub",Space,Str "2"]]]]]
,OrderedList (1,DefaultStyle,DefaultDelim)
[[Plain [Str "other"]
,OrderedList (1,UpperRoman,DefaultDelim)
[[Plain [Str "list"]]
,[Plain [Str "styles"]]]]
,[Plain [Str "are"]
,OrderedList (1,LowerRoman,DefaultDelim)
[[Plain [Str "also"]]
,[Plain [Str "possible"]]]]
,[Plain [Str "all"]
,OrderedList (1,LowerAlpha,DefaultDelim)
[[Plain [Str "the"]]
,[Plain [Str "different"]]
,[Plain [Str "styles"]]]]
,[Plain [Str "are"]
,OrderedList (1,UpperAlpha,DefaultDelim)
[[Plain [Str "implemented"]]
,[Plain [Str "and"]]
,[Plain [Str "supported"]]]]]
,Header 1 ("tables",[],[]) [Str "tables"]
,Table [] [AlignDefault,AlignDefault] [0.0,0.0]
[[]
,[]]
[[[Plain [Str "Orange"]]
,[Plain [Str "Apple"]]]
,[[Plain [Str "Bread"]]
,[Plain [Str "Pie"]]]
,[[Plain [Str "Butter"]]
,[Plain [Str "Ice",Space,Str "cream"]]]]
,Table [] [AlignLeft,AlignLeft] [0.0,0.0]
[[Plain [Str "Orange"]]
,[Plain [Str "Apple"]]]
[[[Plain [Str "Bread"]]
,[Plain [Str "Pie"]]]
,[[Plain [Strong [Str "Butter"]]]
,[Plain [Str "Ice",Space,Str "cream"]]]]
,Table [] [AlignLeft,AlignLeft] [0.0,0.0]
[[Plain [Str "Orange"]]
,[Plain [Str "Apple"]]]
[[[Plain [Str "Bread",LineBreak,LineBreak,Str "and",Space,Str "cheese"]]
,[Plain [Str "Pie",LineBreak,LineBreak,Strong [Str "apple"],Space,Str "and",Space,Emph [Str "carrot"]]]]]
,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0]
[[]
,[]
,[]]
[[[Plain [Str "Orange"]]
,[Plain [Str "Apple"]]
,[Plain [Str "more"]]]
,[[Plain [Str "Bread"]]
,[Plain [Str "Pie"]]
,[Plain [Str "more"]]]
,[[Plain [Str "Butter"]]
,[Plain [Str "Ice",Space,Str "cream"]]
,[Plain [Str "and",Space,Str "more"]]]]
,Header 1 ("macros",[],[]) [Str "macros"]
,Para [Span ("",["twiki-macro","TEST"],[]) []]
,Para [Span ("",["twiki-macro","TEST"],[]) [Str ""]]
,Para [Span ("",["twiki-macro","TEST"],[]) [Str "content with spaces"]]
,Para [Span ("",["twiki-macro","TEST"],[]) [Str "content with spaces"]]
,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test")]) [Str "content with spaces"]]
,Para [Span ("",["twiki-macro","TEST"],[]) [Str "content with spaces ARG1=test"]]
,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test")]) [Str "content with spaces"]]
,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test"),("ARG2","test2")]) [Str ""]]
,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test"),("ARG2","test2")]) [Str ""]]
,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test"),("ARG2","test2")]) [Str "multiline\ndoes also work"]]]

221
tests/twiki-reader.twiki Normal file
View file

@ -0,0 +1,221 @@
---+ header
---++ header level two
---+++ header level 3
---++++ header _level_ four
---+++++ header level 5
---++++++ header level 6
---+++++++ not a header
--++ not a header
---+ emph and strong
_emph_ *strong*
__strong and emph__
*<i>emph inside</i> strong*
*strong with <i>emph</i>*
_<b>strong inside</b> emph_
---+ horizontal rule
top
---
bottom
---
---+ nop
<nop>_not emph_
---+ entities
hi & low
hi &amp; low
G&ouml;del
&#777;&#xAAA;
---+ comments
inline <!-- secret --> comment
<!-- secret -->
between blocks
<!-- secret -->
---+ linebreaks
hi%BR%there
hi%BR%
there
---+ inline code
<code>*→*</code> =typed= <code class="haskell">>>=</code>
---+ code blocks
<verbatim>
case xs of
(_:_) -> reverse xs
[] -> ['*']
</verbatim>
<verbatim class="haskell">
case xs of
(_:_) -> reverse xs
[] -> ['*']
</verbatim>
---+ block quotes
Regular paragraph
<blockquote>
This is a block quote.
With two paragraphs.
</blockquote>
Nother paragraph.
---+ external links
[[http://google.com][<i>Google</i> search engine]]
http://johnmacfarlane.net/pandoc/
[[http://google.com]] [[http://yahoo.com]]
[[mailto:info@example.org][email me]]
!http://google.com
<nop>http://google.com
<noautolink>
http://google.com
</noautolink>
!info@example.org
<nop>info@example.org
<noautolink>
info@example.org
</noautolink>
---+ lists
* Start each line
* with an asterisk (*).
* More asterisks gives deeper
* and deeper levels.
* Line breaks%BR%don't break levels.
* Continuations
are also possible
* and do not break the list flow
* Level one
Any other start ends the list.
1. Start each line
1. with a number (1.).
1. More number signs gives deeper
1. and deeper
1. levels.
1. Line breaks%BR%don't break levels.
1. Blank lines
1. end the list and start another.
Any other start also
ends the list.
$ item 1: definition 1
$ item 2: definition 2-1
definition 2-2
$ item _3_: definition _3_
1. one
1. two
* two point one
* two point two
1. three
$ three item one: three def one
1. four
$ four def one: this
is a continuation
1. five
1. five sub 1
1. five sub 1 sub 1
1. five sub 2
1. other
I. list
I. styles
1. are
i. also
i. possible
1. all
a. the
a. different
a. styles
1. are
A. implemented
A. and
A. supported
---+ tables
|Orange|Apple|
|Bread|Pie|
|Butter|Ice cream|
|*Orange*|*Apple*|
|Bread|Pie|
|*Butter*|Ice cream|
|*Orange*|*Apple*|
|Bread%BR%%BR%and cheese|Pie%BR%%BR%*apple* and <i>carrot</i>|
| Orange | Apple | more |
| Bread | Pie | more |
| Butter | Ice cream | and more |
---+ macros
%TEST%
%TEST{}%
%TEST{content with spaces}%
%TEST{"content with spaces"}%
%TEST{"content with spaces" ARG1="test"}%
%TEST{content with spaces ARG1=test}%
%TEST{ARG1=test content with spaces}%
%TEST{ARG1=test ARG2=test2}%
%TEST{ARG1="test" ARG2="test2"}%
%TEST{ARG1="test"
ARG2="test2"
multiline
does also work}%