added old-style test

This commit is contained in:
Yan Pas 2018-10-17 00:21:52 +03:00
parent ce27bf9a02
commit 7741cdbf04
5 changed files with 289 additions and 1 deletions

View file

@ -73,6 +73,7 @@ type Font = Set FontKind
type RoffStr = (String, Font)
-- TODO parse tables (see man tbl)
data ManToken = MStr RoffStr
| MLine [RoffStr]
| MMaybeLink String

View file

@ -171,6 +171,10 @@ tests = [ testGroup "markdown"
, test "tables" ["-f", "native", "-t", "../data/sample.lua"]
"tables.native" "tables.custom"
]
, testGroup "man"
[ test "reader" ["-r", "man", "-w", "native", "-s"]
"man-reader.man" "man-reader.native"
]
]
-- makes sure file is fully closed after reading

View file

@ -73,7 +73,7 @@ tests = [
=?> orderedListWith (1,UpperAlpha,DefaultDelim) [plain $ str "first", plain $ str "second"]
, "nested" =:
".IP\nfirst\n.RS\n.IP\n1a\n.IP\n1b\n.RE"
=?> fromList [BulletList [[Plain [Str "first"],BulletList [[Plain [Str "1a"]],[Plain [Str "1b"]]]]]]
=?> bulletList [(plain $ str "first") <> (bulletList [plain $ str "1a", plain $ str "1b"])]
],
testGroup "CodeBlocks" [
"cb1"=:

189
test/man-reader.man Normal file
View file

@ -0,0 +1,189 @@
.TH "Pandoc Man tests" "" "Oct 17, 2018" "" ""
.PP
This is a set of tests for pandoc.
.PP
* * * * *
.SH Headers
.SH Level 1
.SS Level 2
* * * * *
.SH Paragraphs
.PP
Here's a regular paragraph.
.PP
Another 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.
.PP
There should be a hard line break
.PD 0
.P
.PD
here.
.PP
* * * * *
.SH Block Quotes
Code in a block quote:
.IP
.nf
\f[C]
sub\ status\ {
\ \ \ \ print\ "working";
}
\f[]
.fi
.PP
A list:
.IP "1." 3
item one
.IP "2." 3
item two
.PP
.SH Code Blocks
.PP
Code:
.IP
.nf
\f[C]
\-\-\-\-\ (should\ be\ four\ hyphens)
sub\ status\ {
\ \ \ \ print\ "working";
}
\f[]
.fi
.PP
And:
.IP
.nf
\f[C]
\tthis\ code\ line is\ indented\ by\ one\ tab
These\ should\ not\ be\ escaped:\ \ \\$\ \\\\\ \\>\ \\[\ \\{
\f[]
.fi
.PP
* * * * *
.SH Lists
.SS Unordered
.PP
Asterisks:
.IP \[bu] 2
asterisk 1
.IP \[bu] 2
asterisk 2
.IP \[bu] 2
asterisk 3
.PP
.SS Ordered
.IP "1." 3
First
.IP "2." 3
Second
.IP "3." 3
Third
.PP
.SS Nested
.IP \[bu] 2
Tab
.RS 2
.IP \[bu] 2
Tab
.RS 2
.IP \[bu] 2
Tab
.RE
.RE
.PP
Here's another:
.IP "1." 3
First
.IP "2." 3
Second:
.RS 4
.IP \[bu] 2
Fee
.IP \[bu] 2
Fie
.IP \[bu] 2
Foe
.RE
.IP "3." 3
Third
.PP
Same thing:
.IP "1." 3
First
.IP "2." 3
Second:
.RS 4
.IP \[bu] 2
Fee
.IP \[bu] 2
Fie
.IP \[bu] 2
Foe
.RE
.IP "3." 3
Third
.SS different styles:
.IP "A." 3
Upper Alpha
.RS 4
.IP "I." 3
Upper Roman.
.RS 4
.IP "(6)" 4
Decimal start with 6
.RS 4
.IP "c)" 3
Lower alpha with paren
.RE
.RE
.RE
.PP
* * * * *
.SH Special Characters
AT&T has an ampersand in their name.
.PP
4 < 5.
.PP
6 > 5.
.PP
Backslash: \\
.PP
Backtick: `
.PP
Asterisk: *
.PP
Underscore: _
.PP
Left brace: {
.PP
Right brace: }
.PP
Left bracket: [
.PP
Right bracket: ]
.PP
Left paren: (
.PP
Right paren: )
.PP
Greater\-than: >
.PP
Hash: #
.PP
Period: .
.PP
Bang: !
.PP
Plus: +
.PP
Minus: \-
.PP

94
test/man-reader.native Normal file
View file

@ -0,0 +1,94 @@
Pandoc (Meta {unMeta = fromList [("title",MetaString "Pandoc Man tests")]})
[Header 1 ("",[],[]) [Str "Pandoc Man tests"]
,Para [Str "This is a set of tests for pandoc."]
,Para [Str " * * * * *"]
,Header 2 ("",[],[]) [Str "Headers"]
,Header 2 ("",[],[]) [Str "Level",Space,Str "1"]
,Header 3 ("",[],[]) [Str "Level",Space,Str "2"]
,Para [Str " * * * * *"]
,Header 2 ("",[],[]) [Str "Paragraphs"]
,Para [Str "Here's a regular paragraph."]
,Para [Str "Another paragraph",Space,Str "In Markdown 1.0.0 and earlier.",Space,Str "Version 8.",Space,Str "This line turns into a list item.",Space,Str "Because a hard-wrapped line in the middle of a paragraph looked like a list",Space,Str "item."]
,Para [Str "There should be a hard line break"]
,Para [Str "here."]
,Para [Str " * * * * *"]
,Header 2 ("",[],[]) [Str "Block",Space,Str "Quotes"]
,Para [Str "Code in a block quote:"]
,CodeBlock ("",[],[]) "\nsub status {\n print \"working\";\n}\n"
,Para [Str "A list:"]
,OrderedList (1,Decimal,DefaultDelim)
[[Plain [Str "item one"]]
,[Plain [Str "item two"]]]
,Header 2 ("",[],[]) [Str "Code",Space,Str "Blocks"]
,Para [Str "Code:"]
,CodeBlock ("",[],[]) "\n---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\n"
,Para [Str "And:"]
,CodeBlock ("",[],[]) "\n\tthis code line is indented by one tab\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{\n"
,Para [Str " * * * * *"]
,Header 2 ("",[],[]) [Str "Lists"]
,Header 3 ("",[],[]) [Str "Unordered"]
,Para [Str "Asterisks:"]
,BulletList
[[Plain [Str "",Space,Str "asterisk 1"]]
,[Plain [Str "",Space,Str "asterisk 2"]]
,[Plain [Str "",Space,Str "asterisk 3"]]]
,Header 3 ("",[],[]) [Str "Ordered"]
,OrderedList (1,Decimal,DefaultDelim)
[[Plain [Str "First"]]
,[Plain [Str "Second"]]
,[Plain [Str "Third"]]]
,Header 3 ("",[],[]) [Str "Nested"]
,BulletList
[[Plain [Str "",Space,Str "Tab"]
,BulletList
[[Plain [Str "",Space,Str "Tab"]
,BulletList
[[Plain [Str "",Space,Str "Tab"]]]]]]]
,Para [Str "Here's another:"]
,OrderedList (1,Decimal,DefaultDelim)
[[Plain [Str "First"]]
,[Plain [Str "Second:"]
,BulletList
[[Plain [Str "",Space,Str "Fee"]]
,[Plain [Str "",Space,Str "Fie"]]
,[Plain [Str "",Space,Str "Foe"]]]]
,[Plain [Str "Third"]]]
,Para [Str "Same thing:"]
,OrderedList (1,Decimal,DefaultDelim)
[[Plain [Str "First"]]
,[Plain [Str "Second:"]
,BulletList
[[Plain [Str "",Space,Str "Fee"]]
,[Plain [Str "",Space,Str "Fie"]]
,[Plain [Str "",Space,Str "Foe"]]]]
,[Plain [Str "Third"]]]
,Header 3 ("",[],[]) [Str "different",Space,Str "styles:"]
,OrderedList (1,UpperAlpha,DefaultDelim)
[[Plain [Str "Upper Alpha"]
,OrderedList (1,UpperAlpha,DefaultDelim)
[[Plain [Str "Upper Roman."]
,BulletList
[[Plain [Str "(6)",Space,Str "Decimal start with 6"]
,OrderedList (1,LowerAlpha,DefaultDelim)
[[Plain [Str "Lower alpha with paren"]]]]]]]]]
,Para [Str " * * * * *"]
,Header 2 ("",[],[]) [Str "Special",Space,Str "Characters"]
,Para [Str "AT&T has an ampersand in their name."]
,Para [Str "4 < 5."]
,Para [Str "6 > 5."]
,Para [Str "Backslash: \\"]
,Para [Str "Backtick: `"]
,Para [Str "Asterisk: *"]
,Para [Str "Underscore: _"]
,Para [Str "Left brace: {"]
,Para [Str "Right brace: }"]
,Para [Str "Left bracket: ["]
,Para [Str "Right bracket: ]"]
,Para [Str "Left paren: ("]
,Para [Str "Right paren: )"]
,Para [Str "Greater-than: >"]
,Para [Str "Hash: #"]
,Para [Str "Period: ."]
,Para [Str "Bang: !"]
,Para [Str "Plus: +"]
,Para [Str "Minus: -"]]