Added separate latex reader and native reader tests;
removed round-trip tests. git-svn-id: https://pandoc.googlecode.com/svn/trunk@986 788f1e2b-df1e-0410-8736-df70ead52e1b
This commit is contained in:
parent
25bbe134cb
commit
f6043ef7bf
3 changed files with 1214 additions and 10 deletions
830
tests/latex-reader.latex
Normal file
830
tests/latex-reader.latex
Normal file
|
@ -0,0 +1,830 @@
|
|||
\documentclass{article}
|
||||
\usepackage[mathletters]{ucs}
|
||||
\usepackage[utf8x]{inputenc}
|
||||
\setlength{\parindent}{0pt}
|
||||
\setlength{\parskip}{6pt plus 2pt minus 1pt}
|
||||
|
||||
\newcommand{\textsubscript}[1]{\ensuremath{_{\scriptsize\textrm{#1}}}}
|
||||
\usepackage[breaklinks=true]{hyperref}
|
||||
\usepackage[normalem]{ulem}
|
||||
\usepackage{enumerate}
|
||||
\usepackage{fancyvrb}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{url}
|
||||
|
||||
\setcounter{secnumdepth}{0}
|
||||
\VerbatimFootnotes % allows verbatim text in footnotes
|
||||
\title{Pandoc Test Suite}
|
||||
\author{John MacFarlane\\Anonymous}
|
||||
\date{July 17, 2006}
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
This is a set of tests for pandoc. Most of them are adapted from
|
||||
John Gruber's markdown test suite.
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Headers}
|
||||
|
||||
\subsection{Level 2 with an \href{/url}{embedded link}}
|
||||
|
||||
\subsubsection{Level 3 with \emph{emphasis}}
|
||||
|
||||
Level 4
|
||||
|
||||
Level 5
|
||||
|
||||
\section{Level 1}
|
||||
|
||||
\subsection{Level 2 with \emph{emphasis}}
|
||||
|
||||
\subsubsection{Level 3}
|
||||
|
||||
with no blank line
|
||||
|
||||
\subsection{Level 2}
|
||||
|
||||
with no blank line
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{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.
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Block Quotes}
|
||||
|
||||
E-mail style:
|
||||
|
||||
\begin{quote}
|
||||
This is a block quote. It is pretty short.
|
||||
|
||||
\end{quote}
|
||||
\begin{quote}
|
||||
Code in a block quote:
|
||||
|
||||
\begin{verbatim}
|
||||
sub status {
|
||||
print "working";
|
||||
}
|
||||
\end{verbatim}
|
||||
A list:
|
||||
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
item one
|
||||
\item
|
||||
item two
|
||||
\end{enumerate}
|
||||
Nested block quotes:
|
||||
|
||||
\begin{quote}
|
||||
nested
|
||||
|
||||
\end{quote}
|
||||
\begin{quote}
|
||||
nested
|
||||
|
||||
\end{quote}
|
||||
\end{quote}
|
||||
This should not be a block quote: 2 \textgreater{} 1.
|
||||
|
||||
Box-style:
|
||||
|
||||
\begin{quote}
|
||||
Example:
|
||||
|
||||
\begin{verbatim}
|
||||
sub status {
|
||||
print "working";
|
||||
}
|
||||
\end{verbatim}
|
||||
\end{quote}
|
||||
\begin{quote}
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
do laundry
|
||||
\item
|
||||
take out the trash
|
||||
\end{enumerate}
|
||||
\end{quote}
|
||||
Here's a nested one:
|
||||
|
||||
\begin{quote}
|
||||
Joe said:
|
||||
|
||||
\begin{quote}
|
||||
Don't quote me.
|
||||
|
||||
\end{quote}
|
||||
\end{quote}
|
||||
And a following paragraph.
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Code Blocks}
|
||||
|
||||
Code:
|
||||
|
||||
\begin{verbatim}
|
||||
---- (should be four hyphens)
|
||||
|
||||
sub status {
|
||||
print "working";
|
||||
}
|
||||
|
||||
this code block is indented by one tab
|
||||
\end{verbatim}
|
||||
And:
|
||||
|
||||
\begin{verbatim}
|
||||
this code block is indented by two tabs
|
||||
|
||||
These should not be escaped: \$ \\ \> \[ \{
|
||||
\end{verbatim}
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Lists}
|
||||
|
||||
\subsection{Unordered}
|
||||
|
||||
Asterisks tight:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
asterisk 1
|
||||
\item
|
||||
asterisk 2
|
||||
\item
|
||||
asterisk 3
|
||||
\end{itemize}
|
||||
Asterisks loose:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
asterisk 1
|
||||
|
||||
\item
|
||||
asterisk 2
|
||||
|
||||
\item
|
||||
asterisk 3
|
||||
|
||||
\end{itemize}
|
||||
Pluses tight:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
Plus 1
|
||||
\item
|
||||
Plus 2
|
||||
\item
|
||||
Plus 3
|
||||
\end{itemize}
|
||||
Pluses loose:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
Plus 1
|
||||
|
||||
\item
|
||||
Plus 2
|
||||
|
||||
\item
|
||||
Plus 3
|
||||
|
||||
\end{itemize}
|
||||
Minuses tight:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
Minus 1
|
||||
\item
|
||||
Minus 2
|
||||
\item
|
||||
Minus 3
|
||||
\end{itemize}
|
||||
Minuses loose:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
Minus 1
|
||||
|
||||
\item
|
||||
Minus 2
|
||||
|
||||
\item
|
||||
Minus 3
|
||||
|
||||
\end{itemize}
|
||||
\subsection{Ordered}
|
||||
|
||||
Tight:
|
||||
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
First
|
||||
\item
|
||||
Second
|
||||
\item
|
||||
Third
|
||||
\end{enumerate}
|
||||
and:
|
||||
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
One
|
||||
\item
|
||||
Two
|
||||
\item
|
||||
Three
|
||||
\end{enumerate}
|
||||
Loose using tabs:
|
||||
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
First
|
||||
|
||||
\item
|
||||
Second
|
||||
|
||||
\item
|
||||
Third
|
||||
|
||||
\end{enumerate}
|
||||
and using spaces:
|
||||
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
One
|
||||
|
||||
\item
|
||||
Two
|
||||
|
||||
\item
|
||||
Three
|
||||
|
||||
\end{enumerate}
|
||||
Multiple paragraphs:
|
||||
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
Item 1, graf one.
|
||||
|
||||
Item 1. graf two. The quick brown fox jumped over the lazy dog's
|
||||
back.
|
||||
|
||||
\item
|
||||
Item 2.
|
||||
|
||||
\item
|
||||
Item 3.
|
||||
|
||||
\end{enumerate}
|
||||
\subsection{Nested}
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
Tab
|
||||
\begin{itemize}
|
||||
\item
|
||||
Tab
|
||||
\begin{itemize}
|
||||
\item
|
||||
Tab
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
Here's another:
|
||||
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
First
|
||||
\item
|
||||
Second:
|
||||
\begin{itemize}
|
||||
\item
|
||||
Fee
|
||||
\item
|
||||
Fie
|
||||
\item
|
||||
Foe
|
||||
\end{itemize}
|
||||
\item
|
||||
Third
|
||||
\end{enumerate}
|
||||
Same thing but with paragraphs:
|
||||
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
First
|
||||
|
||||
\item
|
||||
Second:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
Fee
|
||||
\item
|
||||
Fie
|
||||
\item
|
||||
Foe
|
||||
\end{itemize}
|
||||
\item
|
||||
Third
|
||||
|
||||
\end{enumerate}
|
||||
\subsection{Tabs and spaces}
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
this is a list item indented with tabs
|
||||
|
||||
\item
|
||||
this is a list item indented with spaces
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
this is an example list item indented with tabs
|
||||
|
||||
\item
|
||||
this is an example list item indented with spaces
|
||||
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\subsection{Fancy list markers}
|
||||
|
||||
\begin{enumerate}[(1)]
|
||||
\setcounter{enumi}{1}
|
||||
\item
|
||||
begins with 2
|
||||
\item
|
||||
and now 3
|
||||
|
||||
with a continuation
|
||||
|
||||
\begin{enumerate}[i.]
|
||||
\setcounter{enumii}{3}
|
||||
\item
|
||||
sublist with roman numerals, starting with 4
|
||||
\item
|
||||
more items
|
||||
\begin{enumerate}[(A)]
|
||||
\item
|
||||
a subsublist
|
||||
\item
|
||||
a subsublist
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
Nesting:
|
||||
|
||||
\begin{enumerate}[A.]
|
||||
\item
|
||||
Upper Alpha
|
||||
\begin{enumerate}[I.]
|
||||
\item
|
||||
Upper Roman.
|
||||
\begin{enumerate}[(1)]
|
||||
\setcounter{enumiii}{5}
|
||||
\item
|
||||
Decimal start with 6
|
||||
\begin{enumerate}[a)]
|
||||
\setcounter{enumiv}{2}
|
||||
\item
|
||||
Lower alpha with paren
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
Autonumbering:
|
||||
|
||||
\begin{enumerate}
|
||||
\item
|
||||
Autonumber.
|
||||
\item
|
||||
More.
|
||||
\begin{enumerate}
|
||||
\item
|
||||
Nested.
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
Should not be a list item:
|
||||
|
||||
M.A. 2007
|
||||
|
||||
B. Williams
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Definition Lists}
|
||||
|
||||
Tight using spaces:
|
||||
|
||||
\begin{description}
|
||||
\item[apple]
|
||||
red fruit
|
||||
\item[orange]
|
||||
orange fruit
|
||||
\item[banana]
|
||||
yellow fruit
|
||||
\end{description}
|
||||
Tight using tabs:
|
||||
|
||||
\begin{description}
|
||||
\item[apple]
|
||||
red fruit
|
||||
\item[orange]
|
||||
orange fruit
|
||||
\item[banana]
|
||||
yellow fruit
|
||||
\end{description}
|
||||
Loose:
|
||||
|
||||
\begin{description}
|
||||
\item[apple]
|
||||
red fruit
|
||||
|
||||
\item[orange]
|
||||
orange fruit
|
||||
|
||||
\item[banana]
|
||||
yellow fruit
|
||||
|
||||
\end{description}
|
||||
Multiple blocks with italics:
|
||||
|
||||
\begin{description}
|
||||
\item[\emph{apple}]
|
||||
red fruit
|
||||
|
||||
contains seeds, crisp, pleasant to taste
|
||||
|
||||
\item[\emph{orange}]
|
||||
orange fruit
|
||||
|
||||
\begin{verbatim}
|
||||
{ orange code block }
|
||||
\end{verbatim}
|
||||
\begin{quote}
|
||||
orange block quote
|
||||
|
||||
\end{quote}
|
||||
\end{description}
|
||||
\section{HTML Blocks}
|
||||
|
||||
Simple block on one line:
|
||||
|
||||
foo
|
||||
And nested without indentation:
|
||||
|
||||
foo
|
||||
bar
|
||||
Interpreted markdown in a table:
|
||||
|
||||
This is \emph{emphasized}
|
||||
And this is \textbf{strong}
|
||||
Here's a simple block:
|
||||
|
||||
foo
|
||||
This should be a code block, though:
|
||||
|
||||
\begin{verbatim}
|
||||
<div>
|
||||
foo
|
||||
</div>
|
||||
\end{verbatim}
|
||||
As should this:
|
||||
|
||||
\begin{verbatim}
|
||||
<div>foo</div>
|
||||
\end{verbatim}
|
||||
Now, nested:
|
||||
|
||||
foo
|
||||
This should just be an HTML comment:
|
||||
|
||||
Multiline:
|
||||
|
||||
Code block:
|
||||
|
||||
\begin{verbatim}
|
||||
<!-- Comment -->
|
||||
\end{verbatim}
|
||||
Just plain comment, with trailing spaces on the line:
|
||||
|
||||
Code:
|
||||
|
||||
\begin{verbatim}
|
||||
<hr />
|
||||
\end{verbatim}
|
||||
Hr's:
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Inline Markup}
|
||||
|
||||
This is \emph{emphasized}, and so \emph{is this}.
|
||||
|
||||
This is \textbf{strong}, and so \textbf{is this}.
|
||||
|
||||
An \emph{\href{/url}{emphasized link}}.
|
||||
|
||||
\textbf{\emph{This is strong and em.}}
|
||||
|
||||
So is \textbf{\emph{this}} word.
|
||||
|
||||
\textbf{\emph{This is strong and em.}}
|
||||
|
||||
So is \textbf{\emph{this}} word.
|
||||
|
||||
This is code: \verb!>!, \verb!$!, \verb!\!, \verb!\$!,
|
||||
\verb!<html>!.
|
||||
|
||||
\sout{This is \emph{strikeout}.}
|
||||
|
||||
Superscripts: a\textsuperscript{bc}d
|
||||
a\textsuperscript{\emph{hello}} a\textsuperscript{hello there}.
|
||||
|
||||
Subscripts: H\textsubscript{2}O, H\textsubscript{23}O,
|
||||
H\textsubscript{many of them}O.
|
||||
|
||||
These should not be superscripts or subscripts, because of the
|
||||
unescaped spaces: a\^{}b c\^{}d, a\ensuremath{\sim}b
|
||||
c\ensuremath{\sim}d.
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{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 `\verb!code!' and a
|
||||
``\href{http://example.com/?foo=1&bar=2}{quoted link}''.
|
||||
|
||||
Some dashes: one---two---three---four---five.
|
||||
|
||||
Dashes between numbers: 5--7, 255--66, 1987--1999.
|
||||
|
||||
Ellipses\ldots{}and\ldots{}and\ldots{}.
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{LaTeX}
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
\cite[22-23]{smith.1899}
|
||||
\item
|
||||
\doublespacing
|
||||
\item
|
||||
$2+2=4$
|
||||
\item
|
||||
$x \in y$
|
||||
\item
|
||||
$\alpha \wedge \omega$
|
||||
\item
|
||||
$223$
|
||||
\item
|
||||
$p$-Tree
|
||||
\item
|
||||
$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
|
||||
\item
|
||||
Here's one that has a line break in it:
|
||||
$\alpha + \omega \times x^2$.
|
||||
\end{itemize}
|
||||
These shouldn't be math:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
To get the famous equation, write \verb!$e = mc^2$!.
|
||||
\item
|
||||
\$22,000 is a \emph{lot} of money. So is \$34,000. (It worked if
|
||||
``lot'' is emphasized.)
|
||||
\item
|
||||
Escaped \verb!$!: \$73 \emph{this should be emphasized} 23\$.
|
||||
\end{itemize}
|
||||
Here's a LaTeX table:
|
||||
|
||||
\begin{tabular}{|l|l|}\hline
|
||||
Animal & Number \\ \hline
|
||||
Dog & 2 \\
|
||||
Cat & 1 \\ \hline
|
||||
\end{tabular}
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Special Characters}
|
||||
|
||||
Here is some unicode:
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
I hat: Î
|
||||
\item
|
||||
o umlaut: ö
|
||||
\item
|
||||
section: §
|
||||
\item
|
||||
set membership: ∈
|
||||
\item
|
||||
copyright: ©
|
||||
\end{itemize}
|
||||
AT\&T has an ampersand in their name.
|
||||
|
||||
AT\&T is another way to write it.
|
||||
|
||||
This \& that.
|
||||
|
||||
4 \textless{} 5.
|
||||
|
||||
6 \textgreater{} 5.
|
||||
|
||||
Backslash: \textbackslash{}
|
||||
|
||||
Backtick: `
|
||||
|
||||
Asterisk: *
|
||||
|
||||
Underscore: \_
|
||||
|
||||
Left brace: \{
|
||||
|
||||
Right brace: \}
|
||||
|
||||
Left bracket: [
|
||||
|
||||
Right bracket: ]
|
||||
|
||||
Left paren: (
|
||||
|
||||
Right paren: )
|
||||
|
||||
Greater-than: \textgreater{}
|
||||
|
||||
Hash: \#
|
||||
|
||||
Period: .
|
||||
|
||||
Bang: !
|
||||
|
||||
Plus: +
|
||||
|
||||
Minus: -
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Links}
|
||||
|
||||
\subsection{Explicit}
|
||||
|
||||
Just a \href{/url/}{URL}.
|
||||
|
||||
\href{/url/}{URL and title}.
|
||||
|
||||
\href{/url/}{URL and title}.
|
||||
|
||||
\href{/url/}{URL and title}.
|
||||
|
||||
\href{/url/}{URL and title}
|
||||
|
||||
\href{/url/}{URL and title}
|
||||
|
||||
\href{/url/with_underscore}{with\_underscore}
|
||||
|
||||
\href{mailto:nobody@nowhere.net}{Email link}
|
||||
|
||||
\href{}{Empty}.
|
||||
|
||||
\subsection{Reference}
|
||||
|
||||
Foo \href{/url/}{bar}.
|
||||
|
||||
Foo \href{/url/}{bar}.
|
||||
|
||||
Foo \href{/url/}{bar}.
|
||||
|
||||
With \href{/url/}{embedded [brackets]}.
|
||||
|
||||
\href{/url/}{b} by itself should be a link.
|
||||
|
||||
Indented \href{/url}{once}.
|
||||
|
||||
Indented \href{/url}{twice}.
|
||||
|
||||
Indented \href{/url}{thrice}.
|
||||
|
||||
This should [not][] be a link.
|
||||
|
||||
\begin{verbatim}
|
||||
[not]: /url
|
||||
\end{verbatim}
|
||||
Foo \href{/url/}{bar}.
|
||||
|
||||
Foo \href{/url/}{biz}.
|
||||
|
||||
\subsection{With ampersands}
|
||||
|
||||
Here's a
|
||||
\href{http://example.com/?foo=1&bar=2}{link with an ampersand in the URL}.
|
||||
|
||||
Here's a link with an amersand in the link text:
|
||||
\href{http://att.com/}{AT\&T}.
|
||||
|
||||
Here's an \href{/script?foo=1&bar=2}{inline link}.
|
||||
|
||||
Here's an
|
||||
\href{/script?foo=1&bar=2}{inline link in pointy braces}.
|
||||
|
||||
\subsection{Autolinks}
|
||||
|
||||
With an ampersand: \url{http://example.com/?foo=1&bar=2}
|
||||
|
||||
\begin{itemize}
|
||||
\item
|
||||
In a list?
|
||||
\item
|
||||
\url{http://example.com/}
|
||||
\item
|
||||
It should.
|
||||
\end{itemize}
|
||||
An e-mail address:
|
||||
\href{mailto:nobody@nowhere.net}{\texttt{nobody@nowhere.net}}
|
||||
|
||||
\begin{quote}
|
||||
Blockquoted: \url{http://example.com/}
|
||||
|
||||
\end{quote}
|
||||
Auto-links should not occur here: \verb!<http://example.com/>!
|
||||
|
||||
\begin{verbatim}
|
||||
or here: <http://example.com/>
|
||||
\end{verbatim}
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Images}
|
||||
|
||||
From ``Voyage dans la Lune'' by Georges Melies (1902):
|
||||
|
||||
\includegraphics{lalune.jpg}
|
||||
|
||||
Here is a movie \includegraphics{movie.jpg} icon.
|
||||
|
||||
\begin{center}\rule{3in}{0.4pt}\end{center}
|
||||
|
||||
\section{Footnotes}
|
||||
|
||||
Here is a footnote
|
||||
reference,\footnote{ Here is the footnote. It can go anywhere after the footnote
|
||||
reference. It need not be placed at the end of the document.
|
||||
}
|
||||
and
|
||||
another.\footnote{ 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).
|
||||
|
||||
\begin{Verbatim}
|
||||
{ <code> }
|
||||
\end{Verbatim}
|
||||
If you want, you can indent every line, but you can also be lazy
|
||||
and just indent the first line of each block.
|
||||
}
|
||||
This should \emph{not} be a footnote reference, because it contains
|
||||
a space.[\^{}my note] Here is an inline
|
||||
note.\footnote{ This is \emph{easier} to type. Inline notes may contain
|
||||
\href{http://google.com}{links} and \verb!]! verbatim characters,
|
||||
as well as [bracketed text].
|
||||
}
|
||||
|
||||
\begin{quote}
|
||||
Notes can go in quotes.\footnote{ In quote.
|
||||
}
|
||||
|
||||
\end{quote}
|
||||
\begin{enumerate}[1.]
|
||||
\item
|
||||
And in list items.\footnote{ In list.
|
||||
}
|
||||
\end{enumerate}
|
||||
This paragraph should not be part of the note, as it is not
|
||||
indented.
|
||||
|
||||
\end{document}
|
378
tests/latex-reader.native
Normal file
378
tests/latex-reader.native
Normal file
|
@ -0,0 +1,378 @@
|
|||
Pandoc (Meta [Str "Pandoc",Space,Str "Test",Space,Str "Suite"] ["John MacFarlane","Anonymous"] "July 17, 2006")
|
||||
[ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber",Apostrophe,Str "s",Space,Str "markdown",Space,Str "test",Space,Str "suite."]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Headers"]
|
||||
, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link [Str "embedded",Space,Str "link"] ("/url","")]
|
||||
, Header 3 [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]]
|
||||
, Para [Str "Level",Space,Str "4"]
|
||||
, Para [Str "Level",Space,Str "5"]
|
||||
, Header 1 [Str "Level",Space,Str "1"]
|
||||
, Header 2 [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]]
|
||||
, Header 3 [Str "Level",Space,Str "3"]
|
||||
, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
|
||||
, Header 2 [Str "Level",Space,Str "2"]
|
||||
, Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Paragraphs"]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."]
|
||||
, Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard",Str "-",Str "wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."]
|
||||
, Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Block",Space,Str "Quotes"]
|
||||
, Para [Str "E",Str "-",Str "mail",Space,Str "style:"]
|
||||
, BlockQuote
|
||||
[ Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."] ]
|
||||
|
||||
, BlockQuote
|
||||
[ Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"]
|
||||
, CodeBlock "sub status {\n print \"working\";\n}"
|
||||
, Para [Str "A",Space,Str "list:"]
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "item",Space,Str "one"] ]
|
||||
, [ Para [Str "item",Space,Str "two"] ] ]
|
||||
, Para [Str "Nested",Space,Str "block",Space,Str "quotes:"]
|
||||
, BlockQuote
|
||||
[ Para [Str "nested"] ]
|
||||
|
||||
, BlockQuote
|
||||
[ Para [Str "nested"] ]
|
||||
]
|
||||
, Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."]
|
||||
, Para [Str "Box",Str "-",Str "style:"]
|
||||
, BlockQuote
|
||||
[ Para [Str "Example:"]
|
||||
, CodeBlock "sub status {\n print \"working\";\n}" ]
|
||||
, BlockQuote
|
||||
[ OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "do",Space,Str "laundry"] ]
|
||||
, [ Para [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"] ] ] ]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "nested",Space,Str "one:"]
|
||||
, BlockQuote
|
||||
[ Para [Str "Joe",Space,Str "said:"]
|
||||
, BlockQuote
|
||||
[ Para [Str "Don",Apostrophe,Str "t",Space,Str "quote",Space,Str "me."] ]
|
||||
]
|
||||
, Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Code",Space,Str "Blocks"]
|
||||
, Para [Str "Code:"]
|
||||
, CodeBlock "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab"
|
||||
, Para [Str "And:"]
|
||||
, CodeBlock " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{"
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Lists"]
|
||||
, Header 2 [Str "Unordered"]
|
||||
, Para [Str "Asterisks",Space,Str "tight:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "asterisk",Space,Str "1"] ]
|
||||
, [ Para [Str "asterisk",Space,Str "2"] ]
|
||||
, [ Para [Str "asterisk",Space,Str "3"] ] ]
|
||||
, Para [Str "Asterisks",Space,Str "loose:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "asterisk",Space,Str "1"] ]
|
||||
, [ Para [Str "asterisk",Space,Str "2"] ]
|
||||
, [ Para [Str "asterisk",Space,Str "3"] ] ]
|
||||
, Para [Str "Pluses",Space,Str "tight:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Plus",Space,Str "1"] ]
|
||||
, [ Para [Str "Plus",Space,Str "2"] ]
|
||||
, [ Para [Str "Plus",Space,Str "3"] ] ]
|
||||
, Para [Str "Pluses",Space,Str "loose:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Plus",Space,Str "1"] ]
|
||||
, [ Para [Str "Plus",Space,Str "2"] ]
|
||||
, [ Para [Str "Plus",Space,Str "3"] ] ]
|
||||
, Para [Str "Minuses",Space,Str "tight:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Minus",Space,Str "1"] ]
|
||||
, [ Para [Str "Minus",Space,Str "2"] ]
|
||||
, [ Para [Str "Minus",Space,Str "3"] ] ]
|
||||
, Para [Str "Minuses",Space,Str "loose:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Minus",Space,Str "1"] ]
|
||||
, [ Para [Str "Minus",Space,Str "2"] ]
|
||||
, [ Para [Str "Minus",Space,Str "3"] ] ]
|
||||
, Header 2 [Str "Ordered"]
|
||||
, Para [Str "Tight:"]
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "First"] ]
|
||||
, [ Para [Str "Second"] ]
|
||||
, [ Para [Str "Third"] ] ]
|
||||
, Para [Str "and:"]
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "One"] ]
|
||||
, [ Para [Str "Two"] ]
|
||||
, [ Para [Str "Three"] ] ]
|
||||
, Para [Str "Loose",Space,Str "using",Space,Str "tabs:"]
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "First"] ]
|
||||
, [ Para [Str "Second"] ]
|
||||
, [ Para [Str "Third"] ] ]
|
||||
, Para [Str "and",Space,Str "using",Space,Str "spaces:"]
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "One"] ]
|
||||
, [ Para [Str "Two"] ]
|
||||
, [ Para [Str "Three"] ] ]
|
||||
, Para [Str "Multiple",Space,Str "paragraphs:"]
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."]
|
||||
, Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog",Apostrophe,Str "s",Space,Str "back."] ], [ Para [Str "Item",Space,Str "2."] ]
|
||||
, [ Para [Str "Item",Space,Str "3."] ] ]
|
||||
, Header 2 [Str "Nested"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Tab"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Tab"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Tab"] ]
|
||||
] ] ] ] ]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "another:"]
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "First"] ]
|
||||
, [ Para [Str "Second:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Fee"] ]
|
||||
, [ Para [Str "Fie"] ]
|
||||
, [ Para [Str "Foe"] ] ] ], [ Para [Str "Third"] ] ]
|
||||
, Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"]
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "First"] ]
|
||||
, [ Para [Str "Second:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "Fee"] ]
|
||||
, [ Para [Str "Fie"] ]
|
||||
, [ Para [Str "Foe"] ] ] ], [ Para [Str "Third"] ] ]
|
||||
, Header 2 [Str "Tabs",Space,Str "and",Space,Str "spaces"]
|
||||
, BulletList
|
||||
[ [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
|
||||
, [ Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]
|
||||
, BulletList
|
||||
[ [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"] ]
|
||||
, [ Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ] ] ] ]
|
||||
, Header 2 [Str "Fancy",Space,Str "list",Space,Str "markers"]
|
||||
, OrderedList (2,Decimal,TwoParens)
|
||||
[ [ Para [Str "begins",Space,Str "with",Space,Str "2"] ]
|
||||
, [ Para [Str "and",Space,Str "now",Space,Str "3"]
|
||||
, Para [Str "with",Space,Str "a",Space,Str "continuation"]
|
||||
, OrderedList (4,LowerRoman,Period)
|
||||
[ [ Para [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"] ]
|
||||
, [ Para [Str "more",Space,Str "items"]
|
||||
, OrderedList (1,UpperAlpha,TwoParens)
|
||||
[ [ Para [Str "a",Space,Str "subsublist"] ]
|
||||
, [ Para [Str "a",Space,Str "subsublist"] ] ] ] ] ] ]
|
||||
, Para [Str "Nesting:"]
|
||||
, OrderedList (1,UpperAlpha,Period)
|
||||
[ [ Para [Str "Upper",Space,Str "Alpha"]
|
||||
, OrderedList (1,UpperRoman,Period)
|
||||
[ [ Para [Str "Upper",Space,Str "Roman."]
|
||||
, OrderedList (6,Decimal,TwoParens)
|
||||
[ [ Para [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"]
|
||||
, OrderedList (3,LowerAlpha,OneParen)
|
||||
[ [ Para [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"] ]
|
||||
] ] ] ] ] ] ]
|
||||
, Para [Str "Autonumbering:"]
|
||||
, OrderedList (1,DefaultStyle,DefaultDelim)
|
||||
[ [ Para [Str "Autonumber."] ]
|
||||
, [ Para [Str "More."]
|
||||
, OrderedList (1,DefaultStyle,DefaultDelim)
|
||||
[ [ Para [Str "Nested."] ]
|
||||
] ] ]
|
||||
, Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"]
|
||||
, Para [Str "M.A.",Space,Str "2007"]
|
||||
, Para [Str "B.",Space,Str "Williams"]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Definition",Space,Str "Lists"]
|
||||
, Para [Str "Tight",Space,Str "using",Space,Str "spaces:"]
|
||||
, DefinitionList
|
||||
[ ([Str "apple"],
|
||||
[ Para [Str "red",Space,Str "fruit"] ]
|
||||
),
|
||||
([Str "orange"],
|
||||
[ Para [Str "orange",Space,Str "fruit"] ]
|
||||
),
|
||||
([Str "banana"],
|
||||
[ Para [Str "yellow",Space,Str "fruit"] ]
|
||||
) ]
|
||||
, Para [Str "Tight",Space,Str "using",Space,Str "tabs:"]
|
||||
, DefinitionList
|
||||
[ ([Str "apple"],
|
||||
[ Para [Str "red",Space,Str "fruit"] ]
|
||||
),
|
||||
([Str "orange"],
|
||||
[ Para [Str "orange",Space,Str "fruit"] ]
|
||||
),
|
||||
([Str "banana"],
|
||||
[ Para [Str "yellow",Space,Str "fruit"] ]
|
||||
) ]
|
||||
, Para [Str "Loose:"]
|
||||
, DefinitionList
|
||||
[ ([Str "apple"],
|
||||
[ Para [Str "red",Space,Str "fruit"] ]
|
||||
),
|
||||
([Str "orange"],
|
||||
[ Para [Str "orange",Space,Str "fruit"] ]
|
||||
),
|
||||
([Str "banana"],
|
||||
[ Para [Str "yellow",Space,Str "fruit"] ]
|
||||
) ]
|
||||
, Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"]
|
||||
, DefinitionList
|
||||
[ ([Emph [Str "apple"]],
|
||||
[ Para [Str "red",Space,Str "fruit"]
|
||||
, Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"] ] ),
|
||||
([Emph [Str "orange"]],
|
||||
[ Para [Str "orange",Space,Str "fruit"]
|
||||
, CodeBlock "{ orange code block }"
|
||||
, BlockQuote
|
||||
[ Para [Str "orange",Space,Str "block",Space,Str "quote"] ]
|
||||
] ) ]
|
||||
, Header 1 [Str "HTML",Space,Str "Blocks"]
|
||||
, Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"]
|
||||
, Para [Str "foo",Space,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"]
|
||||
, Para [Str "foo",Space,Str "bar",Space,Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"]
|
||||
, Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Space,Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"],Space,Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "simple",Space,Str "block:"]
|
||||
, Para [Str "foo",Space,Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"]
|
||||
, CodeBlock "<div>\n foo\n</div>"
|
||||
, Para [Str "As",Space,Str "should",Space,Str "this:"]
|
||||
, CodeBlock "<div>foo</div>"
|
||||
, Para [Str "Now,",Space,Str "nested:"]
|
||||
, Para [Str "foo",Space,Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"]
|
||||
, Para [Str "Multiline:"]
|
||||
, Para [Str "Code",Space,Str "block:"]
|
||||
, CodeBlock "<!-- Comment -->"
|
||||
, Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"]
|
||||
, Para [Str "Code:"]
|
||||
, CodeBlock "<hr />"
|
||||
, Para [Str "Hr",Apostrophe,Str "s:"]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Inline",Space,Str "Markup"]
|
||||
, Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."]
|
||||
, Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."]
|
||||
, Para [Str "An",Space,Emph [Link [Str "emphasized",Space,Str "link"] ("/url","")],Str "."]
|
||||
, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
|
||||
, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
|
||||
, Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]]
|
||||
, Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."]
|
||||
, Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ">",Str ",",Space,Code "$",Str ",",Space,Code "\\",Str ",",Space,Code "\\$",Str ",",Space,Code "<html>",Str "."]
|
||||
, Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]]
|
||||
, Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Space,Str "there"],Str "."]
|
||||
, Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",Space,Str "H",Subscript [Str "many",Space,Str "of",Space,Str "them"],Str "O."]
|
||||
, Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces:",Space,Str "a",Str "^",Str "b",Space,Str "c",Str "^",Str "d,",Space,Str "a",Str "~",Str "b",Space,Str "c",Str "~",Str "d."]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"]
|
||||
, Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]]
|
||||
, Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters."]
|
||||
, Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]]
|
||||
, Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70",Apostrophe,Str "s?"]
|
||||
, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."]
|
||||
, Para [Str "Some",Space,Str "dashes:",Space,Str "one",EmDash,Str "two",EmDash,Str "three",EmDash,Str "four",EmDash,Str "five."]
|
||||
, Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5",EnDash,Str "7,",Space,Str "255",EnDash,Str "66,",Space,Str "1987",EnDash,Str "1999."]
|
||||
, Para [Str "Ellipses",Ellipses,Str "and",Ellipses,Str "and",Ellipses,Str "."]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "LaTeX"]
|
||||
, BulletList
|
||||
[ [ Para [TeX "\\cite[22-23]{smith.1899}"] ]
|
||||
, [ Para [TeX "\\doublespacing"] ]
|
||||
, [ Para [TeX "$2+2=4$"] ]
|
||||
, [ Para [TeX "$x \\in y$"] ]
|
||||
, [ Para [TeX "$\\alpha \\wedge \\omega$"] ]
|
||||
, [ Para [TeX "$223$"] ]
|
||||
, [ Para [TeX "$p$",Str "-",Str "Tree"] ]
|
||||
, [ Para [TeX "$\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}$"] ]
|
||||
, [ Para [Str "Here",Apostrophe,Str "s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,TeX "$\\alpha + \\omega \\times x^2$",Str "."] ] ]
|
||||
, Para [Str "These",Space,Str "shouldn",Apostrophe,Str "t",Space,Str "be",Space,Str "math:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code "$e = mc^2$",Str "."] ]
|
||||
, [ Para [Str "$",Str "22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$",Str "34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"] ]
|
||||
, [ Para [Str "Escaped",Space,Code "$",Str ":",Space,Str "$",Str "73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23",Str "$",Str "."] ] ]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"]
|
||||
, Para [TeX "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}"]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Special",Space,Str "Characters"]
|
||||
, Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"]
|
||||
, BulletList
|
||||
[ [ Para [Str "I",Space,Str "hat:",Space,Str "\206"] ]
|
||||
, [ Para [Str "o",Space,Str "umlaut:",Space,Str "\246"] ]
|
||||
, [ Para [Str "section:",Space,Str "\167"] ]
|
||||
, [ Para [Str "set",Space,Str "membership:",Space,Str "\8712"] ]
|
||||
, [ Para [Str "copyright:",Space,Str "\169"] ] ]
|
||||
, Para [Str "AT",Str "&",Str "T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."]
|
||||
, Para [Str "AT",Str "&",Str "T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."]
|
||||
, Para [Str "This",Space,Str "&",Space,Str "that."]
|
||||
, Para [Str "4",Space,Str "<",Space,Str "5."]
|
||||
, Para [Str "6",Space,Str ">",Space,Str "5."]
|
||||
, Para [Str "Backslash:",Space,Str "\\"]
|
||||
, Para [Str "Backtick:"]
|
||||
, Para [Str "Asterisk:",Space,Str "*"]
|
||||
, Para [Str "Underscore:",Space,Str "_"]
|
||||
, Para [Str "Left",Space,Str "brace:",Space,Str "{"]
|
||||
, Para [Str "Right",Space,Str "brace:",Space,Str "}"]
|
||||
, Para [Str "Left",Space,Str "bracket:",Space,Str "["]
|
||||
, Para [Str "Right",Space,Str "bracket:",Space,Str "]"]
|
||||
, Para [Str "Left",Space,Str "paren:",Space,Str "("]
|
||||
, Para [Str "Right",Space,Str "paren:",Space,Str ")"]
|
||||
, Para [Str "Greater",Str "-",Str "than:",Space,Str ">"]
|
||||
, Para [Str "Hash:",Space,Str "#"]
|
||||
, Para [Str "Period:",Space,Str "."]
|
||||
, Para [Str "Bang:",Space,Str "!"]
|
||||
, Para [Str "Plus:",Space,Str "+"]
|
||||
, Para [Str "Minus:",Space,Str "-"]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Links"]
|
||||
, Header 2 [Str "Explicit"]
|
||||
, Para [Str "Just",Space,Str "a",Space,Link [Str "URL"] ("/url/",""),Str "."]
|
||||
, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
|
||||
, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
|
||||
, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."]
|
||||
, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")]
|
||||
, Para [Link [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")]
|
||||
, Para [Link [Str "with",Str "_",Str "underscore"] ("/url/with_underscore","")]
|
||||
, Para [Link [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")]
|
||||
, Para [Link [Str "Empty"] ("",""),Str "."]
|
||||
, Header 2 [Str "Reference"]
|
||||
, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
|
||||
, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
|
||||
, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
|
||||
, Para [Str "With",Space,Link [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."]
|
||||
, Para [Link [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."]
|
||||
, Para [Str "Indented",Space,Link [Str "once"] ("/url",""),Str "."]
|
||||
, Para [Str "Indented",Space,Link [Str "twice"] ("/url",""),Str "."]
|
||||
, Para [Str "Indented",Space,Link [Str "thrice"] ("/url",""),Str "."]
|
||||
, Para [Str "This",Space,Str "should",Space,Str "[not][]",Space,Str "be",Space,Str "a",Space,Str "link."]
|
||||
, CodeBlock "[not]: /url"
|
||||
, Para [Str "Foo",Space,Link [Str "bar"] ("/url/",""),Str "."]
|
||||
, Para [Str "Foo",Space,Link [Str "biz"] ("/url/",""),Str "."]
|
||||
, Header 2 [Str "With",Space,Str "ampersands"]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Link [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link [Str "AT",Str "&",Str "T"] ("http://att.com/",""),Str "."]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."]
|
||||
, Para [Str "Here",Apostrophe,Str "s",Space,Str "an",Space,Link [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."]
|
||||
, Header 2 [Str "Autolinks"]
|
||||
, Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link [Code "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")]
|
||||
, BulletList
|
||||
[ [ Para [Str "In",Space,Str "a",Space,Str "list?"] ]
|
||||
, [ Para [Link [Code "http://example.com/"] ("http://example.com/","")] ]
|
||||
, [ Para [Str "It",Space,Str "should."] ] ]
|
||||
, Para [Str "An",Space,Str "e",Str "-",Str "mail",Space,Str "address:",Space,Link [Code "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")]
|
||||
, BlockQuote
|
||||
[ Para [Str "Blockquoted:",Space,Link [Code "http://example.com/"] ("http://example.com/","")] ]
|
||||
|
||||
, Para [Str "Auto",Str "-",Str "links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code "<http://example.com/>"]
|
||||
, CodeBlock "or here: <http://example.com/>"
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Images"]
|
||||
, Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"]
|
||||
, Para [Image [Str "image"] ("lalune.jpg","")]
|
||||
, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image [Str "image"] ("movie.jpg",""),Space,Str "icon."]
|
||||
, HorizontalRule
|
||||
, Header 1 [Str "Footnotes"]
|
||||
, Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference.",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here",Apostrophe,Str "s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock " { <code> }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space.[",Str "^",Str "my",Space,Str "note]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",Space,Link [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code "]",Space,Str "verbatim",Space,Str "characters,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[bracketed",Space,Str "text]."]]]
|
||||
, BlockQuote
|
||||
[ Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]] ]
|
||||
|
||||
, OrderedList (1,Decimal,Period)
|
||||
[ [ Para [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]] ]
|
||||
]
|
||||
, Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented."] ]
|
||||
|
|
@ -15,7 +15,6 @@ unless (-x $script) { die "$script is not executable.\n"; }
|
|||
print "Writer tests:\n";
|
||||
|
||||
my @writeformats = ("html", "latex", "rst", "rtf", "markdown", "man", "native"); # docbook, context, and s5 handled separately
|
||||
my @readformats = ("latex", "native"); # handle html,markdown & rst separately
|
||||
my $source = "testsuite.native";
|
||||
|
||||
sub test_results
|
||||
|
@ -99,16 +98,13 @@ print "Testing html reader...";
|
|||
`$script -r html -w native -s html-reader.html > tmp.native`;
|
||||
test_results("html reader", "tmp.native", "html-reader.native");
|
||||
|
||||
print "\nReader tests (roundtrip: X -> native -> X -> native):\n";
|
||||
print "Testing latex reader...";
|
||||
`$script -r latex -w native -s latex-reader.latex > tmp.native`;
|
||||
test_results("latex reader", "tmp.native", "latex-reader.native");
|
||||
|
||||
foreach my $format (@readformats)
|
||||
{
|
||||
print "Testing $format reader...";
|
||||
`$script -r $format -w native -s -R writer.$format > tmp1.native`;
|
||||
`$script -r native -w $format -s -R tmp1.native | $script -r $format -w native -s -R - > tmp2.native`;
|
||||
test_results("$format reader", "tmp1.native", "tmp2.native");
|
||||
}
|
||||
print "Testing native reader...";
|
||||
`$script -r native -w native -s testsuite.native > tmp.native`;
|
||||
test_results("native reader", "tmp.native", "testsuite.native");
|
||||
|
||||
`rm tmp?.*`;
|
||||
`rm tmp.*`;
|
||||
|
||||
|
|
Loading…
Reference in a new issue