TWiki Reader: add basic syntax test
This commit is contained in:
parent
c3780992ab
commit
79f25fb9ce
4 changed files with 399 additions and 0 deletions
|
@ -182,6 +182,7 @@ Extra-Source-Files:
|
||||||
tests/epub/*.epub
|
tests/epub/*.epub
|
||||||
tests/epub/*.native
|
tests/epub/*.native
|
||||||
tests/txt2tags.t2t
|
tests/txt2tags.t2t
|
||||||
|
tests/twiki-reader.twiki
|
||||||
|
|
||||||
Source-repository head
|
Source-repository head
|
||||||
type: git
|
type: git
|
||||||
|
|
|
@ -153,6 +153,9 @@ tests = [ testGroup "markdown"
|
||||||
, test "formatting" ["-r", "epub", "-w", "native"]
|
, test "formatting" ["-r", "epub", "-w", "native"]
|
||||||
"epub/formatting.epub" "epub/formatting.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)
|
, testGroup "other writers" $ map (\f -> testGroup f $ writerTests f)
|
||||||
[ "opendocument" , "context" , "texinfo", "icml"
|
[ "opendocument" , "context" , "texinfo", "icml"
|
||||||
, "man" , "plain" , "rtf", "org", "asciidoc"
|
, "man" , "plain" , "rtf", "org", "asciidoc"
|
||||||
|
|
174
tests/twiki-reader.native
Normal file
174
tests/twiki-reader.native
Normal 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
221
tests/twiki-reader.twiki
Normal 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 & low
|
||||||
|
|
||||||
|
Gödel
|
||||||
|
|
||||||
|
̉પ
|
||||||
|
|
||||||
|
---+ 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}%
|
Loading…
Add table
Reference in a new issue