aboutsummaryrefslogtreecommitdiff
path: root/hypsrc-test/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hypsrc-test/Main.hs')
-rw-r--r--hypsrc-test/Main.hs30
1 files changed, 30 insertions, 0 deletions
diff --git a/hypsrc-test/Main.hs b/hypsrc-test/Main.hs
new file mode 100644
index 00000000..b1b48ca4
--- /dev/null
+++ b/hypsrc-test/Main.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE CPP #-}
+
+
+import Data.List
+
+import System.Environment
+import System.FilePath
+
+import Test.Haddock
+import Test.Haddock.Xhtml
+
+
+checkConfig :: CheckConfig Xhtml
+checkConfig = CheckConfig
+ { ccfgRead = \_ input -> strip <$> parseXhtml input
+ , ccfgDump = dumpXhtml
+ , ccfgEqual = (==)
+ }
+ where
+ strip = stripAnchors' . stripLinks' . stripFooter
+ stripLinks' = stripLinksWhen $ \href -> "#local-" `isPrefixOf` href
+ stripAnchors' = stripAnchorsWhen $ \name -> "local-" `isPrefixOf` name
+
+
+dirConfig :: DirConfig
+dirConfig = defaultDirConfig $ takeDirectory __FILE__
+
+
+main :: IO ()
+main = runAndCheck =<< parseArgs checkConfig dirConfig =<< getArgs