diff options
author | Jesse Rosenthal <jrosenthal@jhu.edu> | 2016-10-14 08:45:36 -0400 |
---|---|---|
committer | Jesse Rosenthal <jrosenthal@jhu.edu> | 2016-10-14 09:22:29 -0400 |
commit | 49b0b67b11b62032b2ade498c3efd5a762193d86 (patch) | |
tree | 38fa11d0c3ca25fbb941511947b8746d5eae8821 | |
parent | 9bd1da122a72a9f3f3b5800a19542327353e897f (diff) | |
download | pandoc-49b0b67b11b62032b2ade498c3efd5a762193d86.tar.gz |
Remove Tests.Arbitrary
Use exported Arbitrary instances from pandoc-types instead.
-rw-r--r-- | pandoc.cabal | 1 | ||||
-rw-r--r-- | tests/Tests/Arbitrary.hs | 194 | ||||
-rw-r--r-- | tests/Tests/Readers/HTML.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Readers/LaTeX.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Readers/Markdown.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Readers/RST.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Readers/Txt2Tags.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Shared.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Walk.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/AsciiDoc.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/ConTeXt.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/Docbook.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/HTML.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/LaTeX.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/Markdown.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/Native.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/Plain.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/RST.hs | 2 | ||||
-rw-r--r-- | tests/Tests/Writers/TEI.hs | 2 |
19 files changed, 17 insertions, 212 deletions
diff --git a/pandoc.cabal b/pandoc.cabal index b85fb664a..58d7b446c 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -498,7 +498,6 @@ Test-Suite test-pandoc zip-archive >= 0.2.3.4 && < 0.4 Other-Modules: Tests.Old Tests.Helpers - Tests.Arbitrary Tests.Shared Tests.Walk Tests.Readers.LaTeX diff --git a/tests/Tests/Arbitrary.hs b/tests/Tests/Arbitrary.hs deleted file mode 100644 index d792e1375..000000000 --- a/tests/Tests/Arbitrary.hs +++ /dev/null @@ -1,194 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-orphans #-} -{-# LANGUAGE TypeSynonymInstances, FlexibleInstances, ScopedTypeVariables #-} --- provides Arbitrary instance for Pandoc types -module Tests.Arbitrary () -where -import Test.QuickCheck.Gen -import Test.QuickCheck.Arbitrary -import Control.Monad (liftM, liftM2) -import Text.Pandoc.Definition -import Text.Pandoc.Shared (normalize, escapeURI) -import Text.Pandoc.Builder - -realString :: Gen String -realString = resize 8 $ listOf $ frequency [ (9, elements [' '..'\127']) - , (1, elements ['\128'..'\9999']) ] - -arbAttr :: Gen Attr -arbAttr = do - id' <- elements ["","loc"] - classes <- elements [[],["haskell"],["c","numberLines"]] - keyvals <- elements [[],[("start","22")],[("a","11"),("b_2","a b c")]] - return (id',classes,keyvals) - -instance Arbitrary Inlines where - arbitrary = liftM (fromList :: [Inline] -> Inlines) arbitrary - -instance Arbitrary Blocks where - arbitrary = liftM (fromList :: [Block] -> Blocks) arbitrary - -instance Arbitrary Inline where - arbitrary = resize 3 $ arbInline 2 - -arbInlines :: Int -> Gen [Inline] -arbInlines n = listOf1 (arbInline n) `suchThat` (not . startsWithSpace) - where startsWithSpace (Space:_) = True - startsWithSpace _ = False - --- restrict to 3 levels of nesting max; otherwise we get --- bogged down in indefinitely large structures -arbInline :: Int -> Gen Inline -arbInline n = frequency $ [ (60, liftM Str realString) - , (60, return Space) - , (10, liftM2 Code arbAttr realString) - , (5, elements [ RawInline (Format "html") "<a id=\"eek\">" - , RawInline (Format "latex") "\\my{command}" ]) - ] ++ [ x | x <- nesters, n > 1] - where nesters = [ (10, liftM Emph $ arbInlines (n-1)) - , (10, liftM Strong $ arbInlines (n-1)) - , (10, liftM Strikeout $ arbInlines (n-1)) - , (10, liftM Superscript $ arbInlines (n-1)) - , (10, liftM Subscript $ arbInlines (n-1)) - , (10, liftM SmallCaps $ arbInlines (n-1)) - , (10, do x1 <- arbitrary - x2 <- arbInlines (n-1) - return $ Quoted x1 x2) - , (10, do x1 <- arbitrary - x2 <- realString - return $ Math x1 x2) - , (10, do x0 <- arbAttr - x1 <- arbInlines (n-1) - x3 <- realString - x2 <- liftM escapeURI realString - return $ Link x0 x1 (x2,x3)) - , (10, do x0 <- arbAttr - x1 <- arbInlines (n-1) - x3 <- realString - x2 <- liftM escapeURI realString - return $ Image x0 x1 (x2,x3)) - , (2, liftM2 Cite arbitrary (arbInlines 1)) - , (2, liftM Note $ resize 3 $ listOf1 $ arbBlock (n-1)) - ] - -instance Arbitrary Block where - arbitrary = resize 3 $ arbBlock 2 - -arbBlock :: Int -> Gen Block -arbBlock n = frequency $ [ (10, liftM Plain $ arbInlines (n-1)) - , (15, liftM Para $ arbInlines (n-1)) - , (5, liftM2 CodeBlock arbAttr realString) - , (2, elements [ RawBlock (Format "html") - "<div>\n*&*\n</div>" - , RawBlock (Format "latex") - "\\begin[opt]{env}\nhi\n{\\end{env}" - ]) - , (5, do x1 <- choose (1 :: Int, 6) - x2 <- arbInlines (n-1) - return (Header x1 nullAttr x2)) - , (2, return HorizontalRule) - ] ++ [x | x <- nesters, n > 0] - where nesters = [ (5, liftM BlockQuote $ listOf1 $ arbBlock (n-1)) - , (5, do x2 <- arbitrary - x3 <- arbitrary - x1 <- arbitrary `suchThat` (> 0) - x4 <- listOf1 $ listOf1 $ arbBlock (n-1) - return $ OrderedList (x1,x2,x3) x4 ) - , (5, liftM BulletList $ (listOf1 $ listOf1 $ arbBlock (n-1))) - , (5, do items <- listOf1 $ do - x1 <- listOf1 $ listOf1 $ arbBlock (n-1) - x2 <- arbInlines (n-1) - return (x2,x1) - return $ DefinitionList items) - , (2, do rs <- choose (1 :: Int, 4) - cs <- choose (1 :: Int, 4) - x1 <- arbInlines (n-1) - x2 <- vector cs - x3 <- vectorOf cs $ elements [0, 0.25] - x4 <- vectorOf cs $ listOf $ arbBlock (n-1) - x5 <- vectorOf rs $ vectorOf cs - $ listOf $ arbBlock (n-1) - return (Table x1 x2 x3 x4 x5)) - ] - -instance Arbitrary Pandoc where - arbitrary = resize 8 $ liftM normalize - $ liftM2 Pandoc arbitrary arbitrary - -instance Arbitrary CitationMode where - arbitrary - = do x <- choose (0 :: Int, 2) - case x of - 0 -> return AuthorInText - 1 -> return SuppressAuthor - 2 -> return NormalCitation - _ -> error "FATAL ERROR: Arbitrary instance, logic bug" - -instance Arbitrary Citation where - arbitrary - = do x1 <- listOf $ elements $ ['a'..'z'] ++ ['0'..'9'] ++ ['_'] - x2 <- arbInlines 1 - x3 <- arbInlines 1 - x4 <- arbitrary - x5 <- arbitrary - x6 <- arbitrary - return (Citation x1 x2 x3 x4 x5 x6) - -instance Arbitrary MathType where - arbitrary - = do x <- choose (0 :: Int, 1) - case x of - 0 -> return DisplayMath - 1 -> return InlineMath - _ -> error "FATAL ERROR: Arbitrary instance, logic bug" - -instance Arbitrary QuoteType where - arbitrary - = do x <- choose (0 :: Int, 1) - case x of - 0 -> return SingleQuote - 1 -> return DoubleQuote - _ -> error "FATAL ERROR: Arbitrary instance, logic bug" - -instance Arbitrary Meta where - arbitrary - = do (x1 :: Inlines) <- arbitrary - (x2 :: [Inlines]) <- liftM (filter (not . isNull)) arbitrary - (x3 :: Inlines) <- arbitrary - return $ setMeta "title" x1 - $ setMeta "author" x2 - $ setMeta "date" x3 - $ nullMeta - -instance Arbitrary Alignment where - arbitrary - = do x <- choose (0 :: Int, 3) - case x of - 0 -> return AlignLeft - 1 -> return AlignRight - 2 -> return AlignCenter - 3 -> return AlignDefault - _ -> error "FATAL ERROR: Arbitrary instance, logic bug" - -instance Arbitrary ListNumberStyle where - arbitrary - = do x <- choose (0 :: Int, 6) - case x of - 0 -> return DefaultStyle - 1 -> return Example - 2 -> return Decimal - 3 -> return LowerRoman - 4 -> return UpperRoman - 5 -> return LowerAlpha - 6 -> return UpperAlpha - _ -> error "FATAL ERROR: Arbitrary instance, logic bug" - -instance Arbitrary ListNumberDelim where - arbitrary - = do x <- choose (0 :: Int, 3) - case x of - 0 -> return DefaultDelim - 1 -> return Period - 2 -> return OneParen - 3 -> return TwoParens - _ -> error "FATAL ERROR: Arbitrary instance, logic bug" - diff --git a/tests/Tests/Readers/HTML.hs b/tests/Tests/Readers/HTML.hs index ff27b8aed..1a6983b2b 100644 --- a/tests/Tests/Readers/HTML.hs +++ b/tests/Tests/Readers/HTML.hs @@ -4,7 +4,7 @@ module Tests.Readers.HTML (tests) where import Text.Pandoc.Definition import Test.Framework import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() import Text.Pandoc.Builder import Text.Pandoc import Text.Pandoc.Error diff --git a/tests/Tests/Readers/LaTeX.hs b/tests/Tests/Readers/LaTeX.hs index e21f75aa9..c70ce8052 100644 --- a/tests/Tests/Readers/LaTeX.hs +++ b/tests/Tests/Readers/LaTeX.hs @@ -4,7 +4,7 @@ module Tests.Readers.LaTeX (tests) where import Text.Pandoc.Definition import Test.Framework import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() import Text.Pandoc.Builder import Text.Pandoc import Text.Pandoc.Error diff --git a/tests/Tests/Readers/Markdown.hs b/tests/Tests/Readers/Markdown.hs index 20602afe1..099d75b62 100644 --- a/tests/Tests/Readers/Markdown.hs +++ b/tests/Tests/Readers/Markdown.hs @@ -4,7 +4,7 @@ module Tests.Readers.Markdown (tests) where import Text.Pandoc.Definition import Test.Framework import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() import Text.Pandoc.Builder import qualified Data.Set as Set -- import Text.Pandoc.Shared ( normalize ) diff --git a/tests/Tests/Readers/RST.hs b/tests/Tests/Readers/RST.hs index e47432250..074d1014c 100644 --- a/tests/Tests/Readers/RST.hs +++ b/tests/Tests/Readers/RST.hs @@ -4,7 +4,7 @@ module Tests.Readers.RST (tests) where import Text.Pandoc.Definition import Test.Framework import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() import Text.Pandoc.Builder import Text.Pandoc import Text.Pandoc.Error diff --git a/tests/Tests/Readers/Txt2Tags.hs b/tests/Tests/Readers/Txt2Tags.hs index e0067c698..e291c3ffe 100644 --- a/tests/Tests/Readers/Txt2Tags.hs +++ b/tests/Tests/Readers/Txt2Tags.hs @@ -4,7 +4,7 @@ module Tests.Readers.Txt2Tags (tests) where import Text.Pandoc.Definition import Test.Framework import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() import Text.Pandoc.Builder import Text.Pandoc import Text.Pandoc.Error diff --git a/tests/Tests/Shared.hs b/tests/Tests/Shared.hs index 12652e4b7..55f520433 100644 --- a/tests/Tests/Shared.hs +++ b/tests/Tests/Shared.hs @@ -4,7 +4,7 @@ import Text.Pandoc.Definition import Text.Pandoc.Shared import Test.Framework import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() import Test.Framework.Providers.HUnit import Test.HUnit ( assertBool, (@?=) ) import Text.Pandoc.Builder diff --git a/tests/Tests/Walk.hs b/tests/Tests/Walk.hs index c87cc17d7..876d75e30 100644 --- a/tests/Tests/Walk.hs +++ b/tests/Tests/Walk.hs @@ -6,7 +6,7 @@ import Text.Pandoc.Walk import Test.Framework import Tests.Helpers import Data.Char (toUpper) -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() import Data.Generics tests :: [Test] diff --git a/tests/Tests/Writers/AsciiDoc.hs b/tests/Tests/Writers/AsciiDoc.hs index 0062667cf..8ab216753 100644 --- a/tests/Tests/Writers/AsciiDoc.hs +++ b/tests/Tests/Writers/AsciiDoc.hs @@ -4,7 +4,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() asciidoc :: (ToPandoc a) => a -> String asciidoc = writeAsciiDoc def{ writerWrapText = WrapNone } . toPandoc diff --git a/tests/Tests/Writers/ConTeXt.hs b/tests/Tests/Writers/ConTeXt.hs index 5098a5fee..629e58b8f 100644 --- a/tests/Tests/Writers/ConTeXt.hs +++ b/tests/Tests/Writers/ConTeXt.hs @@ -5,7 +5,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() context :: (ToPandoc a) => a -> String context = writeConTeXt def . toPandoc diff --git a/tests/Tests/Writers/Docbook.hs b/tests/Tests/Writers/Docbook.hs index 2c0ff6179..d89631af8 100644 --- a/tests/Tests/Writers/Docbook.hs +++ b/tests/Tests/Writers/Docbook.hs @@ -5,7 +5,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() docbook :: (ToPandoc a) => a -> String docbook = writeDocbook def{ writerWrapText = WrapNone } . toPandoc diff --git a/tests/Tests/Writers/HTML.hs b/tests/Tests/Writers/HTML.hs index 9b612e446..5bea99f71 100644 --- a/tests/Tests/Writers/HTML.hs +++ b/tests/Tests/Writers/HTML.hs @@ -5,7 +5,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() html :: (ToPandoc a) => a -> String html = writeHtmlString def{ writerWrapText = WrapNone } . toPandoc diff --git a/tests/Tests/Writers/LaTeX.hs b/tests/Tests/Writers/LaTeX.hs index 3dacaacd5..b7f604694 100644 --- a/tests/Tests/Writers/LaTeX.hs +++ b/tests/Tests/Writers/LaTeX.hs @@ -5,7 +5,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() latex :: (ToPandoc a) => a -> String latex = writeLaTeX def{ writerHighlight = True } . toPandoc diff --git a/tests/Tests/Writers/Markdown.hs b/tests/Tests/Writers/Markdown.hs index cfc5f8410..aab916b38 100644 --- a/tests/Tests/Writers/Markdown.hs +++ b/tests/Tests/Writers/Markdown.hs @@ -6,7 +6,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() markdown :: (ToPandoc a) => a -> String markdown = writeMarkdown def . toPandoc diff --git a/tests/Tests/Writers/Native.hs b/tests/Tests/Writers/Native.hs index 9833bf5ae..a8659587f 100644 --- a/tests/Tests/Writers/Native.hs +++ b/tests/Tests/Writers/Native.hs @@ -4,7 +4,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() p_write_rt :: Pandoc -> Bool p_write_rt d = diff --git a/tests/Tests/Writers/Plain.hs b/tests/Tests/Writers/Plain.hs index f8f1d3d90..42f77e3ec 100644 --- a/tests/Tests/Writers/Plain.hs +++ b/tests/Tests/Writers/Plain.hs @@ -5,7 +5,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() infix 4 =: diff --git a/tests/Tests/Writers/RST.hs b/tests/Tests/Writers/RST.hs index b9e359dae..e07d3ffee 100644 --- a/tests/Tests/Writers/RST.hs +++ b/tests/Tests/Writers/RST.hs @@ -5,7 +5,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() infix 4 =: (=:) :: (ToString a, ToPandoc a) diff --git a/tests/Tests/Writers/TEI.hs b/tests/Tests/Writers/TEI.hs index 56764db9f..3eb8478b7 100644 --- a/tests/Tests/Writers/TEI.hs +++ b/tests/Tests/Writers/TEI.hs @@ -5,7 +5,7 @@ import Test.Framework import Text.Pandoc.Builder import Text.Pandoc import Tests.Helpers -import Tests.Arbitrary() +import Text.Pandoc.Arbitrary() {- "my test" =: X =?> Y |