diff options
author | Alec Theriault <alec.theriault@gmail.com> | 2018-07-20 04:50:00 -0700 |
---|---|---|
committer | Alexander Biehl <alexbiehl@gmail.com> | 2018-07-20 13:50:00 +0200 |
commit | f3e76a50eec28d17ddd0fe8e965c15c19c4ef3cf (patch) | |
tree | 8e32e6e12b45ce35be502e3b67fbb061175a18b2 /latex-test/ref | |
parent | 8ac6ac1097f2ec2bc9a7f9bdd765abf71164bfcb (diff) |
Misc tests (#858)
* More tests
* spliced types
* constructor/pattern argument docs
* strictness marks on fields with argument docs
* latex test cases need seperate directory
* Accept tests
Diffstat (limited to 'latex-test/ref')
-rw-r--r-- | latex-test/ref/ConstructorArgs/ConstructorArgs.tex | 69 | ||||
-rw-r--r-- | latex-test/ref/ConstructorArgs/haddock.sty | 57 | ||||
-rw-r--r-- | latex-test/ref/ConstructorArgs/main.tex | 11 | ||||
-rw-r--r-- | latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex | 25 | ||||
-rw-r--r-- | latex-test/ref/GadtConstructorArgs/haddock.sty | 57 | ||||
-rw-r--r-- | latex-test/ref/GadtConstructorArgs/main.tex | 11 |
6 files changed, 230 insertions, 0 deletions
diff --git a/latex-test/ref/ConstructorArgs/ConstructorArgs.tex b/latex-test/ref/ConstructorArgs/ConstructorArgs.tex new file mode 100644 index 00000000..44304f47 --- /dev/null +++ b/latex-test/ref/ConstructorArgs/ConstructorArgs.tex @@ -0,0 +1,69 @@ +\haddockmoduleheading{ConstructorArgs} +\label{module:ConstructorArgs} +\haddockbeginheader +{\haddockverb\begin{verbatim} +module ConstructorArgs ( + Foo((:|), Rec, Baz, Boa, (:*), x, y), Boo(Foo, Foa, Fo, Fo'), pattern Bo, + pattern Bo' + ) where\end{verbatim}} +\haddockendheader + +\begin{haddockdesc} +\item[\begin{tabular}{@{}l} +data\ Foo +\end{tabular}]\haddockbegindoc +\enspace \emph{Constructors}\par +\haddockbeginconstrs +\haddockdecltt{=} & \haddockdecltt{Rec} & doc on a record \\ + & \haddocktt{\qquad \{} \haddockdecltt{x :: String} & doc on the \haddockid{String} field of \haddockid{Rec} \\ + & \haddocktt{\qquad ,} \haddockdecltt{y :: String} & doc on the \haddockid{String} field of \haddockid{Rec} \\ & \haddocktt{\qquad \}} \\ +\haddockdecltt{|} & \haddockdecltt{Baz Int String} & old prefix doc style \\ +\haddockdecltt{|} & \haddockdecltt{Boa} & doc on the \haddockid{Boa} constrictor \\ + & \qquad \haddockdecltt{!Int} & doc on the \haddockid{Int} field of \haddockid{Boa} \\ + & \qquad \haddockdecltt{!String} & doc on the \haddockid{String} field of \haddockid{Boa} \\ +\haddockdecltt{|} & \haddockdecltt{Int :| String} & old infix doc style \\ +\haddockdecltt{|} & \haddockdecltt{(:*)} & doc on the \haddockid{:*} constructor \\ + & \qquad \haddockdecltt{Int} & doc on the \haddockid{Int} field of the \haddockid{:*} constructor \\ + & \qquad \haddockdecltt{String} & doc on the \haddockid{String} field of the \haddockid{:*} constructor \\ +\end{tabulary}\par +\end{haddockdesc} +\begin{haddockdesc} +\item[\begin{tabular}{@{}l} +data\ Boo\ where +\end{tabular}]\haddockbegindoc +\enspace \emph{Constructors}\par +\haddockbeginconstrs +& \haddockdecltt{Foo} & Info about a \haddockid{Foo} \\ + & \qquad \haddockdecltt{::} \enspace \haddockdecltt{Int} & \haddockid{Int} field of \haddockid{Foo} \\ + & \qquad \haddockdecltt{->} \enspace \haddockdecltt{String} & \haddockid{String} field of \haddockid{Foo} \\ + & \qquad \haddockdecltt{->} \enspace \haddockdecltt{Boo} & Make a \haddockid{Boo} \\ +& \haddockdecltt{Foa :: Int -> Boo} & no argument docs GADT \\ +\end{tabulary}\par +\enspace \emph{Bundled Patterns}\par +\haddockbeginconstrs +& \haddockdecltt{pattern Fo} & Info about bundled \haddockid{Fo} \\ + & \qquad \haddockdecltt{::} \enspace \haddockdecltt{Int} & an \haddockid{Int} \\ + & \qquad \haddockdecltt{->} \enspace \haddockdecltt{String} & a \haddockid{String} \\ + & \qquad \haddockdecltt{->} \enspace \haddockdecltt{Boo} & a \haddockid{Boo} \\ +& \haddockdecltt{pattern Fo' :: Boo} & Bundled and no argument docs \\ +\end{tabulary}\par +\end{haddockdesc} +\begin{haddockdesc} +\item[\begin{tabular}{@{}l} +pattern\ Bo +\end{tabular}]\haddockbegindoc +\haddockbeginargs +\haddockdecltt{::} & \haddockdecltt{Int} & an \haddockid{Int} \\ +\haddockdecltt{->} & \haddockdecltt{String} & a \haddockid{String} \\ +\haddockdecltt{->} & \haddockdecltt{Boo} & a \haddockid{Boo} pattern \\ +\end{tabulary}\par +Info about not-bundled \haddockid{Bo}\par + +\end{haddockdesc} +\begin{haddockdesc} +\item[\begin{tabular}{@{}l} +pattern\ Bo'\ ::\ Int\ ->\ String\ ->\ Boo +\end{tabular}]\haddockbegindoc +Not bunded and no argument docs\par + +\end{haddockdesc}
\ No newline at end of file diff --git a/latex-test/ref/ConstructorArgs/haddock.sty b/latex-test/ref/ConstructorArgs/haddock.sty new file mode 100644 index 00000000..6e031a98 --- /dev/null +++ b/latex-test/ref/ConstructorArgs/haddock.sty @@ -0,0 +1,57 @@ +% Default Haddock style definitions. To use your own style, invoke +% Haddock with the option --latex-style=mystyle. + +\usepackage{tabulary} % see below + +% make hyperlinks in the PDF, and add an expandabale index +\usepackage[pdftex,bookmarks=true]{hyperref} + +\newenvironment{haddocktitle} + {\begin{center}\bgroup\large\bfseries} + {\egroup\end{center}} +\newenvironment{haddockprologue}{\vspace{1in}}{} + +\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}} + +\newcommand{\haddockbeginheader}{\hrulefill} +\newcommand{\haddockendheader}{\noindent\hrulefill} + +% a little gap before the ``Methods'' header +\newcommand{\haddockpremethods}{\vspace{2ex}} + +% inserted before \\begin{verbatim} +\newcommand{\haddockverb}{\small} + +% an identifier: add an index entry +\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}} + +% The tabulary environment lets us have a column that takes up ``the +% rest of the space''. Unfortunately it doesn't allow +% the \end{tabulary} to be in the expansion of a macro, it must appear +% literally in the document text, so Haddock inserts +% the \end{tabulary} itself. +\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}} +\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}} + +\newcommand{\haddocktt}[1]{{\small \texttt{#1}}} +\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}} + +\makeatletter +\newenvironment{haddockdesc} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\haddocklabel}} + {\endlist} +\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}} +\makeatother + +% after a declaration, start a new line for the documentation. +% Otherwise, the documentation starts right after the declaration, +% because we're using the list environment and the declaration is the +% ``label''. I tried making this newline part of the label, but +% couldn't get that to work reliably (the space seemed to stretch +% sometimes). +\newcommand{\haddockbegindoc}{\hfill\\[1ex]} + +% spacing between paragraphs and no \parindent looks better +\parskip=10pt plus2pt minus2pt +\setlength{\parindent}{0cm} diff --git a/latex-test/ref/ConstructorArgs/main.tex b/latex-test/ref/ConstructorArgs/main.tex new file mode 100644 index 00000000..80f639c5 --- /dev/null +++ b/latex-test/ref/ConstructorArgs/main.tex @@ -0,0 +1,11 @@ +\documentclass{book} +\usepackage{haddock} +\begin{document} +\begin{titlepage} +\begin{haddocktitle} + +\end{haddocktitle} +\end{titlepage} +\tableofcontents +\input{ConstructorArgs} +\end{document}
\ No newline at end of file diff --git a/latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex b/latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex new file mode 100644 index 00000000..7aaf5512 --- /dev/null +++ b/latex-test/ref/GadtConstructorArgs/GadtConstructorArgs.tex @@ -0,0 +1,25 @@ +\haddockmoduleheading{GadtConstructorArgs} +\label{module:GadtConstructorArgs} +\haddockbeginheader +{\haddockverb\begin{verbatim} +module GadtConstructorArgs ( + Boo(Fot, Fob, x, y, w, z) + ) where\end{verbatim}} +\haddockendheader + +\begin{haddockdesc} +\item[\begin{tabular}{@{}l} +data\ Boo\ where +\end{tabular}]\haddockbegindoc +\enspace \emph{Constructors}\par +\haddockbeginconstrs +& \haddockdecltt{Fot} & \\ + & \qquad \haddockdecltt{:: \{} \enspace \haddockdecltt{x :: Int} & an \haddockid{x} \\ + & \qquad \haddockdecltt{\ \ \ \ ,} \enspace \haddockdecltt{y :: Int} & a \haddockid{y} \\ + & \qquad \haddockdecltt{\ \ \ \ \} ->} \enspace \haddockdecltt{Boo} & \\ +& \haddockdecltt{Fob} & Record GADT with docs \\ + & \qquad \haddockdecltt{:: \{} \enspace \haddockdecltt{w :: Int} & a \haddockid{w} \\ + & \qquad \haddockdecltt{\ \ \ \ ,} \enspace \haddockdecltt{z :: Int} & a \haddockid{z} \\ + & \qquad \haddockdecltt{\ \ \ \ \} ->} \enspace \haddockdecltt{Boo} & a \haddockid{Boo} \\ +\end{tabulary}\par +\end{haddockdesc}
\ No newline at end of file diff --git a/latex-test/ref/GadtConstructorArgs/haddock.sty b/latex-test/ref/GadtConstructorArgs/haddock.sty new file mode 100644 index 00000000..6e031a98 --- /dev/null +++ b/latex-test/ref/GadtConstructorArgs/haddock.sty @@ -0,0 +1,57 @@ +% Default Haddock style definitions. To use your own style, invoke +% Haddock with the option --latex-style=mystyle. + +\usepackage{tabulary} % see below + +% make hyperlinks in the PDF, and add an expandabale index +\usepackage[pdftex,bookmarks=true]{hyperref} + +\newenvironment{haddocktitle} + {\begin{center}\bgroup\large\bfseries} + {\egroup\end{center}} +\newenvironment{haddockprologue}{\vspace{1in}}{} + +\newcommand{\haddockmoduleheading}[1]{\chapter{\texttt{#1}}} + +\newcommand{\haddockbeginheader}{\hrulefill} +\newcommand{\haddockendheader}{\noindent\hrulefill} + +% a little gap before the ``Methods'' header +\newcommand{\haddockpremethods}{\vspace{2ex}} + +% inserted before \\begin{verbatim} +\newcommand{\haddockverb}{\small} + +% an identifier: add an index entry +\newcommand{\haddockid}[1]{\haddocktt{#1}\index{#1@\texttt{#1}}} + +% The tabulary environment lets us have a column that takes up ``the +% rest of the space''. Unfortunately it doesn't allow +% the \end{tabulary} to be in the expansion of a macro, it must appear +% literally in the document text, so Haddock inserts +% the \end{tabulary} itself. +\newcommand{\haddockbeginconstrs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}} +\newcommand{\haddockbeginargs}{\begin{tabulary}{\linewidth}{@{}llJ@{}}} + +\newcommand{\haddocktt}[1]{{\small \texttt{#1}}} +\newcommand{\haddockdecltt}[1]{{\small\bfseries \texttt{#1}}} + +\makeatletter +\newenvironment{haddockdesc} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\haddocklabel}} + {\endlist} +\newcommand*\haddocklabel[1]{\hspace\labelsep\haddockdecltt{#1}} +\makeatother + +% after a declaration, start a new line for the documentation. +% Otherwise, the documentation starts right after the declaration, +% because we're using the list environment and the declaration is the +% ``label''. I tried making this newline part of the label, but +% couldn't get that to work reliably (the space seemed to stretch +% sometimes). +\newcommand{\haddockbegindoc}{\hfill\\[1ex]} + +% spacing between paragraphs and no \parindent looks better +\parskip=10pt plus2pt minus2pt +\setlength{\parindent}{0cm} diff --git a/latex-test/ref/GadtConstructorArgs/main.tex b/latex-test/ref/GadtConstructorArgs/main.tex new file mode 100644 index 00000000..dc1a1aa3 --- /dev/null +++ b/latex-test/ref/GadtConstructorArgs/main.tex @@ -0,0 +1,11 @@ +\documentclass{book} +\usepackage{haddock} +\begin{document} +\begin{titlepage} +\begin{haddocktitle} + +\end{haddocktitle} +\end{titlepage} +\tableofcontents +\input{GadtConstructorArgs} +\end{document}
\ No newline at end of file |