aboutsummaryrefslogtreecommitdiff
path: root/html-test
diff options
context:
space:
mode:
Diffstat (limited to 'html-test')
-rwxr-xr-xhtml-test/Main.hs51
-rw-r--r--html-test/README.markdown27
-rwxr-xr-xhtml-test/accept.lhs49
-rw-r--r--html-test/ref/Bug387.html2
-rw-r--r--html-test/ref/Math.html103
-rw-r--r--html-test/ref/OrphanInstances.html113
-rw-r--r--html-test/ref/OrphanInstancesClass.html85
-rw-r--r--html-test/ref/OrphanInstancesType.html81
-rw-r--r--html-test/ref/mini_A.html2
-rw-r--r--html-test/ref/mini_AdvanceTypes.html2
-rw-r--r--html-test/ref/mini_B.html2
-rw-r--r--html-test/ref/mini_Bug1.html2
-rw-r--r--html-test/ref/mini_Bug2.html2
-rw-r--r--html-test/ref/mini_Bug3.html2
-rw-r--r--html-test/ref/mini_Bug4.html2
-rw-r--r--html-test/ref/mini_Bug6.html2
-rw-r--r--html-test/ref/mini_Bug7.html2
-rw-r--r--html-test/ref/mini_Bug8.html2
-rw-r--r--html-test/ref/mini_BugDeprecated.html2
-rw-r--r--html-test/ref/mini_BugExportHeadings.html2
-rw-r--r--html-test/ref/mini_Bugs.html2
-rw-r--r--html-test/ref/mini_DeprecatedClass.html2
-rw-r--r--html-test/ref/mini_DeprecatedData.html2
-rw-r--r--html-test/ref/mini_DeprecatedFunction.html2
-rw-r--r--html-test/ref/mini_DeprecatedFunction2.html2
-rw-r--r--html-test/ref/mini_DeprecatedFunction3.html2
-rw-r--r--html-test/ref/mini_DeprecatedModule.html2
-rw-r--r--html-test/ref/mini_DeprecatedModule2.html2
-rw-r--r--html-test/ref/mini_DeprecatedNewtype.html2
-rw-r--r--html-test/ref/mini_DeprecatedReExport.html2
-rw-r--r--html-test/ref/mini_DeprecatedRecord.html2
-rw-r--r--html-test/ref/mini_DeprecatedTypeFamily.html2
-rw-r--r--html-test/ref/mini_DeprecatedTypeSynonym.html2
-rw-r--r--html-test/ref/mini_Examples.html2
-rw-r--r--html-test/ref/mini_FunArgs.html2
-rw-r--r--html-test/ref/mini_GADTRecords.html2
-rw-r--r--html-test/ref/mini_Hash.html2
-rw-r--r--html-test/ref/mini_HiddenInstances.html2
-rw-r--r--html-test/ref/mini_HiddenInstancesB.html2
-rw-r--r--html-test/ref/mini_Hyperlinks.html2
-rw-r--r--html-test/ref/mini_IgnoreExports.html2
-rw-r--r--html-test/ref/mini_Math.html33
-rw-r--r--html-test/ref/mini_ModuleWithWarning.html2
-rw-r--r--html-test/ref/mini_NamedDoc.html2
-rw-r--r--html-test/ref/mini_NoLayout.html2
-rw-r--r--html-test/ref/mini_NonGreedy.html2
-rw-r--r--html-test/ref/mini_Properties.html2
-rw-r--r--html-test/ref/mini_PruneWithWarning.html2
-rw-r--r--html-test/ref/mini_QuasiExpr.html2
-rw-r--r--html-test/ref/mini_QuasiQuote.html2
-rw-r--r--html-test/ref/mini_SpuriousSuperclassConstraints.html2
-rw-r--r--html-test/ref/mini_TH.html2
-rw-r--r--html-test/ref/mini_TH2.html2
-rw-r--r--html-test/ref/mini_Test.html2
-rw-r--r--html-test/ref/mini_Ticket112.html2
-rw-r--r--html-test/ref/mini_Ticket61.html2
-rw-r--r--html-test/ref/mini_Ticket75.html2
-rw-r--r--html-test/ref/mini_TitledPicture.html2
-rw-r--r--html-test/ref/mini_TypeFamilies.html2
-rw-r--r--html-test/ref/mini_TypeOperators.html2
-rw-r--r--html-test/ref/mini_Unicode.html2
-rw-r--r--html-test/ref/mini_Visible.html2
-rwxr-xr-xhtml-test/run6
-rwxr-xr-xhtml-test/run.lhs191
-rw-r--r--html-test/src/Math.hs14
-rw-r--r--html-test/src/Operators.hs6
-rw-r--r--html-test/src/OrphanInstances.hs8
-rw-r--r--html-test/src/OrphanInstancesClass.hs4
-rw-r--r--html-test/src/OrphanInstancesType.hs3
69 files changed, 614 insertions, 268 deletions
diff --git a/html-test/Main.hs b/html-test/Main.hs
new file mode 100755
index 00000000..3880fc3c
--- /dev/null
+++ b/html-test/Main.hs
@@ -0,0 +1,51 @@
+{-# LANGUAGE CPP #-}
+
+
+import Data.Char
+
+import System.Environment
+import System.FilePath
+
+import Test.Haddock
+import Test.Haddock.Xhtml
+
+
+checkConfig :: CheckConfig Xml
+checkConfig = CheckConfig
+ { ccfgRead = \mdl input -> stripIfRequired mdl <$> parseXml input
+ , ccfgDump = dumpXml
+ , ccfgEqual = (==)
+ }
+
+
+dirConfig :: DirConfig
+dirConfig = (defaultDirConfig $ takeDirectory __FILE__)
+ { dcfgCheckIgnore = checkIgnore
+ }
+
+
+main :: IO ()
+main = do
+ cfg <- parseArgs checkConfig dirConfig =<< getArgs
+ runAndCheck $ cfg
+ { cfgHaddockArgs = cfgHaddockArgs cfg ++ ["--pretty-html", "--html"]
+ }
+
+
+stripIfRequired :: String -> Xml -> Xml
+stripIfRequired mdl =
+ stripLinks' . stripFooter
+ where
+ stripLinks'
+ | mdl `elem` preserveLinksModules = id
+ | otherwise = stripLinks
+
+
+-- | List of modules in which we don't 'stripLinks'
+preserveLinksModules :: [String]
+preserveLinksModules = ["Bug253"]
+
+
+checkIgnore :: FilePath -> Bool
+checkIgnore file@(c:_) | takeExtension file == ".html" && isUpper c = False
+checkIgnore _ = True
diff --git a/html-test/README.markdown b/html-test/README.markdown
deleted file mode 100644
index 717bac5c..00000000
--- a/html-test/README.markdown
+++ /dev/null
@@ -1,27 +0,0 @@
-This is a testsuite for Haddock that uses the concept of "golden files". That
-is, it compares output files against a set of reference files.
-
-To add a new test:
-
- 1. Create a module in the `html-test/src` directory.
-
- 2. Run `cabal test`. You should now have `html-test/out/<modulename>.html`.
- The test passes since there is no reference file to compare with.
-
- 3. To make a reference file from the output file, run
-
- html-test/accept.lhs <modulename>
-
-Tips and tricks:
-
-To "accept" all output files (copy them to reference files), run
-
- runhaskell accept.lhs
-
-You can run all tests despite failing tests, like so
-
- cabal test --test-option=all
-
-You can pass extra options to haddock like so
-
- cabal test --test-options='all --title="All Tests"'
diff --git a/html-test/accept.lhs b/html-test/accept.lhs
deleted file mode 100755
index f6dfc4cd..00000000
--- a/html-test/accept.lhs
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env runhaskell
-\begin{code}
-{-# LANGUAGE CPP #-}
-import System.Cmd
-import System.Environment
-import System.FilePath
-import System.Directory
-import Data.List
-import Control.Applicative
-
-baseDir = takeDirectory __FILE__
-
-main :: IO ()
-main = do
- contents <- filter (not . ignore) <$> getDirectoryContents (baseDir </> "out")
- args <- getArgs
- if not $ null args then
- mapM_ copy [ baseDir </> "out" </> file | file <- contents, ".html" `isSuffixOf` file, takeBaseName file `elem` args ]
- else
- mapM_ copy [ baseDir </> "out" </> file | file <- contents]
- where
- ignore =
- foldr (liftA2 (||)) (const False) [
- (== ".")
- , (== "..")
- , (isPrefixOf "index")
- , (isPrefixOf "doc-index")
- ]
-
-copy :: FilePath -> IO ()
-copy file = do
- let new = baseDir </> "ref" </> takeFileName file
- if ".html" `isSuffixOf` file then do
- putStrLn (file ++ " -> " ++ new)
- stripLinks <$> readFile file >>= writeFile new
- else do
- -- copy css, images, etc.
- copyFile file new
-
-stripLinks :: String -> String
-stripLinks str =
- let prefix = "<a href=\"" in
- case stripPrefix prefix str of
- Just str' -> prefix ++ stripLinks (dropWhile (/= '"') str')
- Nothing ->
- case str of
- [] -> []
- x : xs -> x : stripLinks xs
-\end{code}
diff --git a/html-test/ref/Bug387.html b/html-test/ref/Bug387.html
index 7b605fd0..80735916 100644
--- a/html-test/ref/Bug387.html
+++ b/html-test/ref/Bug387.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Bug387.html");};
diff --git a/html-test/ref/Math.html b/html-test/ref/Math.html
new file mode 100644
index 00000000..5b76fd13
--- /dev/null
+++ b/html-test/ref/Math.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+><head
+ ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
+ /><title
+ >Math</title
+ ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
+ /><script src="haddock-util.js" type="text/javascript"
+ ></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
+ ><script type="text/javascript"
+ >//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_Math.html");};
+//]]>
+</script
+ ></head
+ ><body
+ ><div id="package-header"
+ ><ul class="links" id="page-menu"
+ ><li
+ ><a href=""
+ >Contents</a
+ ></li
+ ><li
+ ><a href=""
+ >Index</a
+ ></li
+ ></ul
+ ><p class="caption empty"
+ >&nbsp;</p
+ ></div
+ ><div id="content"
+ ><div id="module-header"
+ ><table class="info"
+ ><tr
+ ><th
+ >Safe Haskell</th
+ ><td
+ >Safe</td
+ ></tr
+ ></table
+ ><p class="caption"
+ >Math</p
+ ></div
+ ><div id="description"
+ ><p class="caption"
+ >Description</p
+ ><div class="doc"
+ ><p
+ >Math (display) for <code
+ >normalDensity</code
+ ></p
+ ><p
+ >\[
+ \int_{-\infty}^{\infty} e^{-x^2/2} = \sqrt{2\pi}
+ \]</p
+ ><p
+ >\(\int_{-\infty}^{\infty} e^{-x^2/2} = \sqrt{2\pi}\)</p
+ ></div
+ ></div
+ ><div id="synopsis"
+ ><p id="control.syn" class="caption expander" onclick="toggleSection('syn')"
+ >Synopsis</p
+ ><ul id="section.syn" class="hide" onclick="toggleSection('syn')"
+ ><li class="src short"
+ ><a href=""
+ >f</a
+ > :: <a href=""
+ >Integer</a
+ ></li
+ ></ul
+ ></div
+ ><div id="interface"
+ ><h1
+ >Documentation</h1
+ ><div class="top"
+ ><p class="src"
+ ><a name="v:f" class="def"
+ >f</a
+ > :: <a href=""
+ >Integer</a
+ ></p
+ ><div class="doc"
+ ><p
+ >Math (inline) for <code
+ >normalDensity</code
+ >
+ \(\int_{-\infty}^{\infty} e^{-x^2/2} = \sqrt{2\pi}\)
+ \[\int_{-\infty}^{\infty} e^{-x^2/2} = \sqrt{2\pi}\]</p
+ ></div
+ ></div
+ ></div
+ ></div
+ ><div id="footer"
+ ><p
+ >Produced by <a href=""
+ >Haddock</a
+ > version 2.16.1</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/html-test/ref/OrphanInstances.html b/html-test/ref/OrphanInstances.html
new file mode 100644
index 00000000..0f12bb2e
--- /dev/null
+++ b/html-test/ref/OrphanInstances.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+><head
+ ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
+ /><title
+ >OrphanInstances</title
+ ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
+ /><script src="haddock-util.js" type="text/javascript"
+ ></script
+ ><script type="text/javascript"
+ >//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_OrphanInstances.html");};
+//]]>
+</script
+ ></head
+ ><body
+ ><div id="package-header"
+ ><ul class="links" id="page-menu"
+ ><li
+ ><a href="index.html"
+ >Contents</a
+ ></li
+ ><li
+ ><a href="doc-index.html"
+ >Index</a
+ ></li
+ ></ul
+ ><p class="caption empty"
+ >&nbsp;</p
+ ></div
+ ><div id="content"
+ ><div id="module-header"
+ ><table class="info"
+ ><tr
+ ><th
+ >Safe Haskell</th
+ ><td
+ >Safe</td
+ ></tr
+ ></table
+ ><p class="caption"
+ >OrphanInstances</p
+ ></div
+ ><div id="table-of-contents"
+ ><p class="caption"
+ >Contents</p
+ ><ul
+ ><li
+ ><a href="#section.orphans"
+ >Orphan instances</a
+ ></li
+ ></ul
+ ></div
+ ><div id="synopsis"
+ ><p id="control.syn" class="caption expander" onclick="toggleSection('syn')"
+ >Synopsis</p
+ ><ul id="section.syn" class="hide" onclick="toggleSection('syn')"
+ ></ul
+ ></div
+ ><div id="interface"
+ ><h1
+ >Documentation</h1
+ ><h1
+ >Orphan instances</h1
+ ><div id="section.orphans" class="show"
+ ><table
+ ><tr
+ ><td class="src clearfix"
+ ><span class="inst-left"
+ ><span id="control.i:o:ic:AClass:AClass:1" class="instance expander" onclick="toggleSection('i:o:ic:AClass:AClass:1')"
+ ></span
+ > <a href="OrphanInstancesClass.html#t:AClass"
+ >AClass</a
+ > <a href="OrphanInstancesType.html#t:AType"
+ >AType</a
+ ></span
+ ></td
+ ><td class="doc"
+ ><p
+ >This is an orphan instance.</p
+ ></td
+ ></tr
+ ><tr
+ ><td colspan="2"
+ ><div id="section.i:o:ic:AClass:AClass:1" class="inst-details hide"
+ ><div class="subs methods"
+ ><p class="caption"
+ >Methods</p
+ ><p class="src"
+ ><a href="#v:aClass"
+ >aClass</a
+ > :: <a href="OrphanInstancesType.html#t:AType"
+ >AType</a
+ > -&gt; <a href="/opt/exp/ghc/roots/landing/share/doc/ghc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int"
+ >Int</a
+ ></p
+ ></div
+ ></div
+ ></td
+ ></tr
+ ></table
+ ></div
+ ></div
+ ></div
+ ><div id="footer"
+ ><p
+ >Produced by <a href="http://www.haskell.org/haddock/"
+ >Haddock</a
+ > version 2.16.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/html-test/ref/OrphanInstancesClass.html b/html-test/ref/OrphanInstancesClass.html
new file mode 100644
index 00000000..69ba33f8
--- /dev/null
+++ b/html-test/ref/OrphanInstancesClass.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+><head
+ ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
+ /><title
+ >OrphanInstancesClass</title
+ ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
+ /><script src="haddock-util.js" type="text/javascript"
+ ></script
+ ><script type="text/javascript"
+ >//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_OrphanInstancesClass.html");};
+//]]>
+</script
+ ></head
+ ><body
+ ><div id="package-header"
+ ><ul class="links" id="page-menu"
+ ><li
+ ><a href="index.html"
+ >Contents</a
+ ></li
+ ><li
+ ><a href="doc-index.html"
+ >Index</a
+ ></li
+ ></ul
+ ><p class="caption empty"
+ >&nbsp;</p
+ ></div
+ ><div id="content"
+ ><div id="module-header"
+ ><table class="info"
+ ><tr
+ ><th
+ >Safe Haskell</th
+ ><td
+ >Safe</td
+ ></tr
+ ></table
+ ><p class="caption"
+ >OrphanInstancesClass</p
+ ></div
+ ><div id="interface"
+ ><h1
+ >Documentation</h1
+ ><div class="top"
+ ><p class="src"
+ ><span class="keyword"
+ >class</span
+ > <a href="#t:AClass" id="t:AClass" class="def"
+ >AClass</a
+ > a <span class="keyword"
+ >where</span
+ ></p
+ ><div class="subs minimal"
+ ><p class="caption"
+ >Minimal complete definition</p
+ ><p class="src"
+ ><a href="OrphanInstancesClass.html#v:aClass"
+ >aClass</a
+ ></p
+ ></div
+ ><div class="subs methods"
+ ><p class="caption"
+ >Methods</p
+ ><p class="src"
+ ><a href="#v:aClass" id="v:aClass" class="def"
+ >aClass</a
+ > :: a -&gt; <a href="/opt/exp/ghc/roots/landing/share/doc/ghc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int"
+ >Int</a
+ ></p
+ ></div
+ ></div
+ ></div
+ ></div
+ ><div id="footer"
+ ><p
+ >Produced by <a href="http://www.haskell.org/haddock/"
+ >Haddock</a
+ > version 2.16.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/html-test/ref/OrphanInstancesType.html b/html-test/ref/OrphanInstancesType.html
new file mode 100644
index 00000000..2652db73
--- /dev/null
+++ b/html-test/ref/OrphanInstancesType.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+><head
+ ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
+ /><title
+ >OrphanInstancesType</title
+ ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
+ /><script src="haddock-util.js" type="text/javascript"
+ ></script
+ ><script type="text/javascript"
+ >//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_OrphanInstancesType.html");};
+//]]>
+</script
+ ></head
+ ><body
+ ><div id="package-header"
+ ><ul class="links" id="page-menu"
+ ><li
+ ><a href="index.html"
+ >Contents</a
+ ></li
+ ><li
+ ><a href="doc-index.html"
+ >Index</a
+ ></li
+ ></ul
+ ><p class="caption empty"
+ >&nbsp;</p
+ ></div
+ ><div id="content"
+ ><div id="module-header"
+ ><table class="info"
+ ><tr
+ ><th
+ >Safe Haskell</th
+ ><td
+ >Safe</td
+ ></tr
+ ></table
+ ><p class="caption"
+ >OrphanInstancesType</p
+ ></div
+ ><div id="interface"
+ ><h1
+ >Documentation</h1
+ ><div class="top"
+ ><p class="src"
+ ><span class="keyword"
+ >data</span
+ > <a href="#t:AType" id="t:AType" class="def"
+ >AType</a
+ ></p
+ ><div class="subs constructors"
+ ><p class="caption"
+ >Constructors</p
+ ><table
+ ><tr
+ ><td class="src"
+ ><a href="#v:AType" id="v:AType" class="def"
+ >AType</a
+ > <a href="/opt/exp/ghc/roots/landing/share/doc/ghc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int"
+ >Int</a
+ ></td
+ ><td class="doc empty"
+ >&nbsp;</td
+ ></tr
+ ></table
+ ></div
+ ></div
+ ></div
+ ></div
+ ><div id="footer"
+ ><p
+ >Produced by <a href="http://www.haskell.org/haddock/"
+ >Haddock</a
+ > version 2.16.2</p
+ ></div
+ ></body
+ ></html
+>
diff --git a/html-test/ref/mini_A.html b/html-test/ref/mini_A.html
index c3d36935..6f914440 100644
--- a/html-test/ref/mini_A.html
+++ b/html-test/ref/mini_A.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_AdvanceTypes.html b/html-test/ref/mini_AdvanceTypes.html
index c4b0806a..f72502dd 100644
--- a/html-test/ref/mini_AdvanceTypes.html
+++ b/html-test/ref/mini_AdvanceTypes.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_B.html b/html-test/ref/mini_B.html
index 9b3ef381..557d5dfe 100644
--- a/html-test/ref/mini_B.html
+++ b/html-test/ref/mini_B.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Bug1.html b/html-test/ref/mini_Bug1.html
index bab3748c..01a65c6f 100644
--- a/html-test/ref/mini_Bug1.html
+++ b/html-test/ref/mini_Bug1.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Bug2.html b/html-test/ref/mini_Bug2.html
index b673e459..4cbea53d 100644
--- a/html-test/ref/mini_Bug2.html
+++ b/html-test/ref/mini_Bug2.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Bug3.html b/html-test/ref/mini_Bug3.html
index af4cc445..9f46a9e6 100644
--- a/html-test/ref/mini_Bug3.html
+++ b/html-test/ref/mini_Bug3.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Bug4.html b/html-test/ref/mini_Bug4.html
index b403e94a..cfc489b4 100644
--- a/html-test/ref/mini_Bug4.html
+++ b/html-test/ref/mini_Bug4.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Bug6.html b/html-test/ref/mini_Bug6.html
index e448e7a3..cea7a09d 100644
--- a/html-test/ref/mini_Bug6.html
+++ b/html-test/ref/mini_Bug6.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Bug7.html b/html-test/ref/mini_Bug7.html
index 2cb7ebe1..3c32e012 100644
--- a/html-test/ref/mini_Bug7.html
+++ b/html-test/ref/mini_Bug7.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Bug8.html b/html-test/ref/mini_Bug8.html
index ca6ec68a..63770a6d 100644
--- a/html-test/ref/mini_Bug8.html
+++ b/html-test/ref/mini_Bug8.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_BugDeprecated.html b/html-test/ref/mini_BugDeprecated.html
index 9c8fc229..5a075ca8 100644
--- a/html-test/ref/mini_BugDeprecated.html
+++ b/html-test/ref/mini_BugDeprecated.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_BugExportHeadings.html b/html-test/ref/mini_BugExportHeadings.html
index e170b41a..2a1223e6 100644
--- a/html-test/ref/mini_BugExportHeadings.html
+++ b/html-test/ref/mini_BugExportHeadings.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Bugs.html b/html-test/ref/mini_Bugs.html
index 3c758375..6c7eefe7 100644
--- a/html-test/ref/mini_Bugs.html
+++ b/html-test/ref/mini_Bugs.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedClass.html b/html-test/ref/mini_DeprecatedClass.html
index 3923c1ff..05889033 100644
--- a/html-test/ref/mini_DeprecatedClass.html
+++ b/html-test/ref/mini_DeprecatedClass.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedData.html b/html-test/ref/mini_DeprecatedData.html
index 7f11afeb..6dad3417 100644
--- a/html-test/ref/mini_DeprecatedData.html
+++ b/html-test/ref/mini_DeprecatedData.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedFunction.html b/html-test/ref/mini_DeprecatedFunction.html
index 9bb90dac..1564c916 100644
--- a/html-test/ref/mini_DeprecatedFunction.html
+++ b/html-test/ref/mini_DeprecatedFunction.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedFunction2.html b/html-test/ref/mini_DeprecatedFunction2.html
index a03991a9..8af6fa90 100644
--- a/html-test/ref/mini_DeprecatedFunction2.html
+++ b/html-test/ref/mini_DeprecatedFunction2.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedFunction3.html b/html-test/ref/mini_DeprecatedFunction3.html
index 4ea60339..61819fc8 100644
--- a/html-test/ref/mini_DeprecatedFunction3.html
+++ b/html-test/ref/mini_DeprecatedFunction3.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedModule.html b/html-test/ref/mini_DeprecatedModule.html
index bfdef611..112d70df 100644
--- a/html-test/ref/mini_DeprecatedModule.html
+++ b/html-test/ref/mini_DeprecatedModule.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedModule2.html b/html-test/ref/mini_DeprecatedModule2.html
index dbcc43b9..18dc9b2d 100644
--- a/html-test/ref/mini_DeprecatedModule2.html
+++ b/html-test/ref/mini_DeprecatedModule2.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedNewtype.html b/html-test/ref/mini_DeprecatedNewtype.html
index 84d41828..22b56d10 100644
--- a/html-test/ref/mini_DeprecatedNewtype.html
+++ b/html-test/ref/mini_DeprecatedNewtype.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedReExport.html b/html-test/ref/mini_DeprecatedReExport.html
index 405926b1..b1600cb7 100644
--- a/html-test/ref/mini_DeprecatedReExport.html
+++ b/html-test/ref/mini_DeprecatedReExport.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedRecord.html b/html-test/ref/mini_DeprecatedRecord.html
index 54dc9722..5da974e7 100644
--- a/html-test/ref/mini_DeprecatedRecord.html
+++ b/html-test/ref/mini_DeprecatedRecord.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedTypeFamily.html b/html-test/ref/mini_DeprecatedTypeFamily.html
index c87d9637..eb90e152 100644
--- a/html-test/ref/mini_DeprecatedTypeFamily.html
+++ b/html-test/ref/mini_DeprecatedTypeFamily.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_DeprecatedTypeSynonym.html b/html-test/ref/mini_DeprecatedTypeSynonym.html
index c04c374f..4ea068d9 100644
--- a/html-test/ref/mini_DeprecatedTypeSynonym.html
+++ b/html-test/ref/mini_DeprecatedTypeSynonym.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Examples.html b/html-test/ref/mini_Examples.html
index c99c2c48..16769ed2 100644
--- a/html-test/ref/mini_Examples.html
+++ b/html-test/ref/mini_Examples.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_FunArgs.html b/html-test/ref/mini_FunArgs.html
index eac6c8fe..952e6879 100644
--- a/html-test/ref/mini_FunArgs.html
+++ b/html-test/ref/mini_FunArgs.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_GADTRecords.html b/html-test/ref/mini_GADTRecords.html
index a8b838f0..fe0c5753 100644
--- a/html-test/ref/mini_GADTRecords.html
+++ b/html-test/ref/mini_GADTRecords.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Hash.html b/html-test/ref/mini_Hash.html
index a0a68840..6647caf7 100644
--- a/html-test/ref/mini_Hash.html
+++ b/html-test/ref/mini_Hash.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_HiddenInstances.html b/html-test/ref/mini_HiddenInstances.html
index 01bab320..5e709de7 100644
--- a/html-test/ref/mini_HiddenInstances.html
+++ b/html-test/ref/mini_HiddenInstances.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_HiddenInstancesB.html b/html-test/ref/mini_HiddenInstancesB.html
index e02b42b1..8c8b832c 100644
--- a/html-test/ref/mini_HiddenInstancesB.html
+++ b/html-test/ref/mini_HiddenInstancesB.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Hyperlinks.html b/html-test/ref/mini_Hyperlinks.html
index f0c7d65a..5071b876 100644
--- a/html-test/ref/mini_Hyperlinks.html
+++ b/html-test/ref/mini_Hyperlinks.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_IgnoreExports.html b/html-test/ref/mini_IgnoreExports.html
index a420e65a..498b8507 100644
--- a/html-test/ref/mini_IgnoreExports.html
+++ b/html-test/ref/mini_IgnoreExports.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Math.html b/html-test/ref/mini_Math.html
new file mode 100644
index 00000000..e7f0f14f
--- /dev/null
+++ b/html-test/ref/mini_Math.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+><head
+ ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
+ /><title
+ >Math</title
+ ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
+ /><script src="haddock-util.js" type="text/javascript"
+ ></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
+ ><script type="text/javascript"
+ >//<![CDATA[
+window.onload = function () {pageLoad();};
+//]]>
+</script
+ ></head
+ ><body id="mini"
+ ><div id="module-header"
+ ><p class="caption"
+ >Math</p
+ ></div
+ ><div id="interface"
+ ><div class="top"
+ ><p class="src"
+ ><a href="" target="main"
+ >f</a
+ ></p
+ ></div
+ ></div
+ ></body
+ ></html
+>
diff --git a/html-test/ref/mini_ModuleWithWarning.html b/html-test/ref/mini_ModuleWithWarning.html
index 19315a14..ebe78e11 100644
--- a/html-test/ref/mini_ModuleWithWarning.html
+++ b/html-test/ref/mini_ModuleWithWarning.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_NamedDoc.html b/html-test/ref/mini_NamedDoc.html
index 066bbc61..58ba3f53 100644
--- a/html-test/ref/mini_NamedDoc.html
+++ b/html-test/ref/mini_NamedDoc.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_NoLayout.html b/html-test/ref/mini_NoLayout.html
index 19562d70..74878965 100644
--- a/html-test/ref/mini_NoLayout.html
+++ b/html-test/ref/mini_NoLayout.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_NonGreedy.html b/html-test/ref/mini_NonGreedy.html
index 698c368e..96c51c75 100644
--- a/html-test/ref/mini_NonGreedy.html
+++ b/html-test/ref/mini_NonGreedy.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Properties.html b/html-test/ref/mini_Properties.html
index 5f538dfd..8362d16e 100644
--- a/html-test/ref/mini_Properties.html
+++ b/html-test/ref/mini_Properties.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_PruneWithWarning.html b/html-test/ref/mini_PruneWithWarning.html
index 9eb3aa00..e73dc510 100644
--- a/html-test/ref/mini_PruneWithWarning.html
+++ b/html-test/ref/mini_PruneWithWarning.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_QuasiExpr.html b/html-test/ref/mini_QuasiExpr.html
index 06797498..f9e8b7b5 100644
--- a/html-test/ref/mini_QuasiExpr.html
+++ b/html-test/ref/mini_QuasiExpr.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_QuasiQuote.html b/html-test/ref/mini_QuasiQuote.html
index 5dac6acc..e0d8e22e 100644
--- a/html-test/ref/mini_QuasiQuote.html
+++ b/html-test/ref/mini_QuasiQuote.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_SpuriousSuperclassConstraints.html b/html-test/ref/mini_SpuriousSuperclassConstraints.html
index 22079a4e..38be01c4 100644
--- a/html-test/ref/mini_SpuriousSuperclassConstraints.html
+++ b/html-test/ref/mini_SpuriousSuperclassConstraints.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_TH.html b/html-test/ref/mini_TH.html
index d2ddbabc..51b35ee5 100644
--- a/html-test/ref/mini_TH.html
+++ b/html-test/ref/mini_TH.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_TH2.html b/html-test/ref/mini_TH2.html
index 2c9f1340..767e6e2c 100644
--- a/html-test/ref/mini_TH2.html
+++ b/html-test/ref/mini_TH2.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Test.html b/html-test/ref/mini_Test.html
index 7453387c..3fd26035 100644
--- a/html-test/ref/mini_Test.html
+++ b/html-test/ref/mini_Test.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Ticket112.html b/html-test/ref/mini_Ticket112.html
index 68a0a5e5..d6f23ea2 100644
--- a/html-test/ref/mini_Ticket112.html
+++ b/html-test/ref/mini_Ticket112.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Ticket61.html b/html-test/ref/mini_Ticket61.html
index a73fefca..6c061b7e 100644
--- a/html-test/ref/mini_Ticket61.html
+++ b/html-test/ref/mini_Ticket61.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Ticket75.html b/html-test/ref/mini_Ticket75.html
index 75ce882c..351a4d16 100644
--- a/html-test/ref/mini_Ticket75.html
+++ b/html-test/ref/mini_Ticket75.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_TitledPicture.html b/html-test/ref/mini_TitledPicture.html
index 760566e5..91f61ef3 100644
--- a/html-test/ref/mini_TitledPicture.html
+++ b/html-test/ref/mini_TitledPicture.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_TypeFamilies.html b/html-test/ref/mini_TypeFamilies.html
index feb61abc..9c6e02ea 100644
--- a/html-test/ref/mini_TypeFamilies.html
+++ b/html-test/ref/mini_TypeFamilies.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_TypeOperators.html b/html-test/ref/mini_TypeOperators.html
index ce31643e..61a01103 100644
--- a/html-test/ref/mini_TypeOperators.html
+++ b/html-test/ref/mini_TypeOperators.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Unicode.html b/html-test/ref/mini_Unicode.html
index 55336980..820cd80d 100644
--- a/html-test/ref/mini_Unicode.html
+++ b/html-test/ref/mini_Unicode.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/ref/mini_Visible.html b/html-test/ref/mini_Visible.html
index 976a30c5..d51d755a 100644
--- a/html-test/ref/mini_Visible.html
+++ b/html-test/ref/mini_Visible.html
@@ -7,6 +7,8 @@
><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
/><script src="haddock-util.js" type="text/javascript"
></script
+ ><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"
+ ></script
><script type="text/javascript"
>//<![CDATA[
window.onload = function () {pageLoad();};
diff --git a/html-test/run b/html-test/run
new file mode 100755
index 00000000..3e72be80
--- /dev/null
+++ b/html-test/run
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+export HADDOCK_PATH=$(which haddock)
+LIB_PATH="$(dirname "$BASH_SOURCE")/../haddock-test/src/"
+MAIN_PATH="$(dirname "$BASH_SOURCE")/Main.hs"
+runhaskell -i:"$LIB_PATH" $MAIN_PATH $@
diff --git a/html-test/run.lhs b/html-test/run.lhs
deleted file mode 100755
index 1f19b723..00000000
--- a/html-test/run.lhs
+++ /dev/null
@@ -1,191 +0,0 @@
-#!/usr/bin/env runhaskell
-\begin{code}
-{-# LANGUAGE CPP #-}
-import Prelude hiding (mod)
-import Control.Monad
-import Control.Applicative
-import Data.List
-import Data.Maybe
-import Distribution.InstalledPackageInfo
-import Distribution.Package (PackageName (..))
-import Distribution.Simple.Compiler
-import Distribution.Simple.GHC
-import Distribution.Simple.PackageIndex
-import Distribution.Simple.Program
-import Distribution.Simple.Utils
-import Distribution.Verbosity
-import System.IO
-import System.Directory
-import System.Environment
-import System.Exit
-import System.FilePath
-import System.Process (ProcessHandle, runProcess, waitForProcess, system)
-
-packageRoot, dataDir, haddockPath, baseDir, testDir, outDir :: FilePath
-baseDir = takeDirectory __FILE__
-testDir = baseDir </> "src"
-refDir = baseDir </> "ref"
-outDir = baseDir </> "out"
-packageRoot = baseDir </> ".."
-dataDir = packageRoot </> "resources"
-haddockPath = packageRoot </> "dist" </> "build" </> "haddock" </> "haddock"
-
-
-main :: IO ()
-main = do
- test
- putStrLn "All tests passed!"
-
-
-test :: IO ()
-test = do
- x <- doesFileExist haddockPath
- unless x $ System.Exit.die "you need to run 'cabal build' successfully first"
-
- contents <- getDirectoryContents testDir
- args <- getArgs
- let (opts, spec) = span ("-" `isPrefixOf`) args
- let mods =
- case spec of
- y:_ | y /= "all" -> [y ++ ".hs"]
- _ -> filter ((==) ".hs" . takeExtension) contents
-
- let mods' = map (testDir </>) mods
-
- -- add haddock_datadir to environment for subprocesses
- env <- Just . (:) ("haddock_datadir", Main.dataDir) <$> getEnvironment
-
- putStrLn ""
- putStrLn "Haddock version: "
- h1 <- runProcess haddockPath ["--version"] Nothing
- env Nothing Nothing Nothing
- wait h1 "*** Running `haddock --version' failed!"
- putStrLn ""
- putStrLn "GHC version: "
- h2 <- runProcess haddockPath ["--ghc-version"] Nothing
- env Nothing Nothing Nothing
- wait h2 "*** Running `haddock --ghc-version' failed!"
- putStrLn ""
-
- -- TODO: maybe do something more clever here using haddock.cabal
- ghcPath <- fmap init $ rawSystemStdout normal haddockPath ["--print-ghc-path"]
- (_, _, conf) <- configure normal (Just ghcPath) Nothing defaultProgramConfiguration
- pkgIndex <- getInstalledPackages normal [GlobalPackageDB] conf
- let mkDep pkgName =
- fromMaybe (error "Couldn't find test dependencies") $ do
- let pkgs = lookupPackageName pkgIndex (PackageName pkgName)
- (_, pkgs') <- listToMaybe pkgs
- pkg <- listToMaybe pkgs'
- ifacePath <- listToMaybe (haddockInterfaces pkg)
- htmlPath <- listToMaybe (haddockHTMLs pkg)
- return ("-i " ++ htmlPath ++ "," ++ ifacePath)
-
- let base = mkDep "base"
- process = mkDep "process"
- ghcprim = mkDep "ghc-prim"
-
- putStrLn "Running tests..."
- handle <- runProcess haddockPath
- (["-w", "-o", outDir, "-h", "--pretty-html"
- , "--optghc=-w", base, process, ghcprim] ++ opts ++ mods')
- Nothing env Nothing
- Nothing Nothing
-
- wait handle "*** Haddock run failed! Exiting."
- check mods (if not (null args) && args !! 0 == "all" then False else True)
- where
- wait :: ProcessHandle -> String -> IO ()
- wait h msg = do
- r <- waitForProcess h
- unless (r == ExitSuccess) $ do
- hPutStrLn stderr msg
- exitFailure
-
-check :: [FilePath] -> Bool -> IO ()
-check modules strict = do
- forM_ modules $ \mod -> do
- let outfile = outDir </> dropExtension mod ++ ".html"
- let reffile = refDir </> dropExtension mod ++ ".html"
- b <- doesFileExist reffile
- if b
- then do
- out <- readFile outfile
- ref <- readFile reffile
- if not $ haddockEq (outfile, out) (reffile, ref)
- then do
- putStrLn $ "Output for " ++ mod ++ " has changed! Exiting with diff:"
- let ref' = maybeStripLinks outfile ref
- out' = maybeStripLinks reffile out
- let reffile' = outDir </> takeFileName reffile ++ ".nolinks"
- outfile' = outDir </> takeFileName outfile ++ ".ref.nolinks"
- writeFile reffile' ref'
- writeFile outfile' out'
- r <- programOnPath "colordiff"
- code <- if r
- then system $ "colordiff " ++ reffile' ++ " " ++ outfile'
- else system $ "diff " ++ reffile' ++ " " ++ outfile'
- if strict then exitFailure else return ()
- unless (code == ExitSuccess) $ do
- hPutStrLn stderr "*** Running diff failed!"
- exitFailure
- else do
- putStrLn $ "Pass: " ++ mod
- else do
- putStrLn $ "Pass: " ++ mod ++ " (no .ref file)"
-
--- | List of modules in which we don't 'stripLinks'
-preserveLinksModules :: [String]
-preserveLinksModules = map (++ ".html") ["Bug253"]
-
--- | A rather nasty way to drop the Haddock version string from the
--- end of the generated HTML files so that we don't have to change
--- every single test every time we change versions. We rely on the the
--- last paragraph of the document to be the version. We end up with
--- malformed HTML but we don't care as we never look at it ourselves.
-dropVersion :: String -> String
-dropVersion = reverse . dropTillP . reverse
- where
- dropTillP [] = []
- dropTillP ('p':'<':xs) = xs
- dropTillP (_:xs) = dropTillP xs
-
-haddockEq :: (FilePath, String) -> (FilePath, String) -> Bool
-haddockEq (fn1, file1) (fn2, file2) =
- maybeStripLinks fn1 (dropVersion file1)
- == maybeStripLinks fn2 (dropVersion file2)
-
-maybeStripLinks :: String -- ^ Module we're considering for stripping
- -> String -> String
-maybeStripLinks m = if any (`isSuffixOf` m) preserveLinksModules
- then id
- else stripLinks
-
-stripLinks :: String -> String
-stripLinks str =
- let prefix = "<a href=\"" in
- case stripPrefix prefix str of
- Just str' -> case dropWhile (/= '>') (dropWhile (/= '"') str') of
- [] -> []
- x:xs -> stripLinks (stripHrefEnd xs)
- Nothing ->
- case str of
- [] -> []
- x : xs -> x : stripLinks xs
-
-stripHrefEnd :: String -> String
-stripHrefEnd s =
- let pref = "</a" in
- case stripPrefix pref s of
- Just str' -> case dropWhile (/= '>') str' of
- [] -> []
- x:xs -> xs
- Nothing ->
- case s of
- [] -> []
- x : xs -> x : stripHrefEnd xs
-
-programOnPath :: FilePath -> IO Bool
-programOnPath p = do
- result <- findProgramLocation silent p
- return (isJust result)
-\end{code}
diff --git a/html-test/src/Math.hs b/html-test/src/Math.hs
new file mode 100644
index 00000000..75bc513e
--- /dev/null
+++ b/html-test/src/Math.hs
@@ -0,0 +1,14 @@
+-- | Math (display) for 'normalDensity'
+--
+-- \[
+-- \int_{-\infty}^{\infty} e^{-x^2/2} = \sqrt{2\pi}
+-- \]
+--
+-- \(\int_{-\infty}^{\infty} e^{-x^2/2} = \sqrt{2\pi}\)
+
+module Math where
+
+-- | Math (inline) for 'normalDensity'
+-- \(\int_{-\infty}^{\infty} e^{-x^2/2} = \sqrt{2\pi}\)
+-- \[\int_{-\infty}^{\infty} e^{-x^2/2} = \sqrt{2\pi}\]
+f = 5
diff --git a/html-test/src/Operators.hs b/html-test/src/Operators.hs
index f7b4d0ab..0b633c3f 100644
--- a/html-test/src/Operators.hs
+++ b/html-test/src/Operators.hs
@@ -1,4 +1,6 @@
{-# LANGUAGE PatternSynonyms, TypeOperators, TypeFamilies, MultiParamTypeClasses, GADTs #-}
+{-# LANGUAGE FunctionalDependencies #-}
+
-- | Test operators with or without fixity declarations
module Operators where
@@ -42,7 +44,9 @@ data family a ** b
infix 9 **
-- | Class with fixity, including associated types
-class a ><> b where
+class a ><> b | a -> b where
+ -- Dec 2015: Added @a -> b@ functional dependency to clean up ambiguity
+ -- See GHC #11264
type a <>< b :: *
data a ><< b
(>><), (<<>) :: a -> b -> ()
diff --git a/html-test/src/OrphanInstances.hs b/html-test/src/OrphanInstances.hs
new file mode 100644
index 00000000..e50327ee
--- /dev/null
+++ b/html-test/src/OrphanInstances.hs
@@ -0,0 +1,8 @@
+module OrphanInstances where
+
+import OrphanInstancesType
+import OrphanInstancesClass
+
+-- | This is an orphan instance.
+instance AClass AType where
+ aClass (AType n) = n
diff --git a/html-test/src/OrphanInstancesClass.hs b/html-test/src/OrphanInstancesClass.hs
new file mode 100644
index 00000000..4b51acfc
--- /dev/null
+++ b/html-test/src/OrphanInstancesClass.hs
@@ -0,0 +1,4 @@
+module OrphanInstancesClass (AClass(..)) where
+
+class AClass a where
+ aClass :: a -> Int
diff --git a/html-test/src/OrphanInstancesType.hs b/html-test/src/OrphanInstancesType.hs
new file mode 100644
index 00000000..b3c3145e
--- /dev/null
+++ b/html-test/src/OrphanInstancesType.hs
@@ -0,0 +1,3 @@
+module OrphanInstancesType (AType(..)) where
+
+data AType = AType Int