aboutsummaryrefslogtreecommitdiff
path: root/html-test/src
diff options
context:
space:
mode:
Diffstat (limited to 'html-test/src')
-rw-r--r--html-test/src/Bug458.hs6
-rw-r--r--html-test/src/Bug546.hs55
-rw-r--r--html-test/src/Bug548.hs3
-rw-r--r--html-test/src/Bug679.hs24
-rw-r--r--html-test/src/Table.hs47
5 files changed, 135 insertions, 0 deletions
diff --git a/html-test/src/Bug458.hs b/html-test/src/Bug458.hs
new file mode 100644
index 00000000..6a3ac9a4
--- /dev/null
+++ b/html-test/src/Bug458.hs
@@ -0,0 +1,6 @@
+module Bug458 where
+
+-- | See the defn of @'⊆'@.
+(⊆) :: () -> () -> ()
+_ ⊆ _ = ()
+
diff --git a/html-test/src/Bug546.hs b/html-test/src/Bug546.hs
new file mode 100644
index 00000000..4493b1d9
--- /dev/null
+++ b/html-test/src/Bug546.hs
@@ -0,0 +1,55 @@
+module Bug546 where
+
+-- |Test:
+--
+-- [@[code with square \\ brackets\]@] lorem ipsum
+x = 1
+
+-- |
+--
+-- [@[..\]@] Matches any of the enclosed characters. Ranges of characters can
+-- be specified by separating the endpoints with a @\'-'@. @\'-'@ or
+-- @']'@ can be matched by including them as the first character(s)
+-- in the list. Never matches path separators: @[\/]@ matches
+-- nothing at all. Named character classes can also be matched:
+-- @[:x:]@ within @[]@ specifies the class named @x@, which matches
+-- certain predefined characters. See below for a full list.
+--
+-- [@[^..\]@ or @[!..\]@] Like @[..]@, but matches any character /not/ listed.
+-- Note that @[^-x]@ is not the inverse of @[-x]@, but
+-- the range @[^-x]@.
+--
+-- [@\<m-n>@] Matches any integer in the range m to n, inclusive. The range may
+-- be open-ended by leaving out either number: @\"\<->\"@, for
+-- instance, matches any integer.
+--
+-- [@**/@] Matches any number of characters, including path separators,
+-- excluding the empty string.
+--
+-- Supported character classes:
+--
+-- [@[:alnum:\]@] Equivalent to @\"0-9A-Za-z\"@.
+--
+-- [@[:alpha:\]@] Equivalent to @\"A-Za-z\"@.
+--
+-- [@[:blank:\]@] Equivalent to @\"\\t \"@.
+--
+-- [@[:cntrl:\]@] Equivalent to @\"\\0-\\x1f\\x7f\"@.
+--
+-- [@[:digit:\]@] Equivalent to @\"0-9\"@.
+--
+-- [@[:graph:\]@] Equivalent to @\"!-~\"@.
+--
+-- [@[:lower:\]@] Equivalent to @\"a-z\"@.
+--
+-- [@[:print:\]@] Equivalent to @\" -~\"@.
+--
+-- [@[:punct:\]@] Equivalent to @\"!-\/:-\@[-`{-~\"@.
+--
+-- [@[:space:\]@] Equivalent to @\"\\t-\\r \"@.
+--
+-- [@[:upper:\]@] Equivalent to @\"A-Z\"@.
+--
+-- [@[:xdigit:\]@] Equivalent to @\"0-9A-Fa-f\"@.
+compile :: String -> String
+compile = id \ No newline at end of file
diff --git a/html-test/src/Bug548.hs b/html-test/src/Bug548.hs
new file mode 100644
index 00000000..652d3d32
--- /dev/null
+++ b/html-test/src/Bug548.hs
@@ -0,0 +1,3 @@
+module Bug548 (WrappedArrow(..)) where
+
+import Control.Applicative
diff --git a/html-test/src/Bug679.hs b/html-test/src/Bug679.hs
new file mode 100644
index 00000000..dba194c4
--- /dev/null
+++ b/html-test/src/Bug679.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE TemplateHaskell #-}
+
+module Bug679 where
+
+import Language.Haskell.TH
+
+data Bar a = Bar
+
+$(do
+ a <- newName "a"
+
+ let classN = mkName "Foo"
+ let methodN = mkName "foo"
+
+ methodTy <- [t| $(varT a) -> $(varT a) |]
+ let cla = ClassD [] classN [PlainTV a] [] [SigD methodN methodTy]
+
+ -- Note that we are /reusing/ the same type variable 'a' as in the class
+ instanceHead <- [t| $(conT classN) (Bar $(varT a)) |]
+ idCall <- [e| id |]
+ let ins = InstanceD Nothing [] instanceHead [FunD methodN [Clause [] (NormalB idCall) []]]
+
+ pure [cla,ins])
+
diff --git a/html-test/src/Table.hs b/html-test/src/Table.hs
new file mode 100644
index 00000000..2cf0c662
--- /dev/null
+++ b/html-test/src/Table.hs
@@ -0,0 +1,47 @@
+-- | This tests the table markup
+module Table
+ ( tableWithHeader
+ , tableWithoutHeader
+ , fancyTable
+ ) where
+
+-- | Table with header.
+--
+-- +------+--------------+------------------------------------------+
+-- | code | message | description |
+-- +======+==============+==========================================+
+-- | 200 | @OK@ | operation successful |
+-- +------+--------------+------------------------------------------+
+-- | 204 | @No Content@ | operation successful, no body returned |
+-- +------+--------------+------------------------------------------+
+tableWithHeader :: a -> a
+tableWithHeader a = a
+
+-- | Table without header.
+--
+-- +------+--------------+------------------------------------------+
+-- | 200 | @OK@ | operation successful |
+-- +------+--------------+------------------------------------------+
+-- | 204 | @No Content@ | operation successful, no body returned |
+-- +------+--------------+------------------------------------------+
+-- | 404 | @Not Found@ | resource not found |
+-- +------+--------------+------------------------------------------+
+tableWithoutHeader :: a -> a
+tableWithoutHeader a = a
+
+-- | Fancy table.
+--
+-- +------------------------+------------+----------+----------+
+-- | Header row, column 1 | Header 2 | Header 3 | Header 4 |
+-- | (header rows optional) | | | |
+-- +========================+============+==========+==========+
+-- | body row 1, column 1 | column 2 | column 3 | column 4 |
+-- +------------------------+------------+----------+----------+
+-- | 'tableWithHeader' | Cells may span columns. |
+-- +------------------------+------------+---------------------+
+-- | body row 3 | Cells may | \[ |
+-- +------------------------+ span rows. | f(n) = \sum_{i=1} |
+-- | body row 4 | | \] |
+-- +------------------------+------------+---------------------+
+fancyTable :: a -> a
+fancyTable x = x