Add failing test for large vcat
authorEyal Lotem <eyal.lotem@gmail.com>
Fri, 28 Jun 2013 15:13:45 +0000 (18:13 +0300)
committerDavid Terei <code@davidterei.com>
Fri, 26 Dec 2014 08:15:10 +0000 (00:15 -0800)
pretty.cabal
tests/Test.hs
tests/TestLargePretty.hs [new file with mode: 0644]

index c763e25..5bb9b70 100644 (file)
@@ -51,6 +51,7 @@ Test-Suite test-pretty
         TestStructures
         UnitPP1
         UnitT3911
+        TestLargePretty
     extensions: CPP, BangPatterns, DeriveGeneric
     include-dirs: src/Text/PrettyPrint
 
index 107e32a..dda582a 100644 (file)
 import PrettyTestVersion
 import TestGenerators
 import TestStructures
+import TestLargePretty
 
 import UnitPP1
 import UnitT3911
 
+import Control.Exception
 import Control.Monad
 import Data.Char (isSpace)
 import Data.List (intersperse)
@@ -27,7 +29,8 @@ import Test.QuickCheck
 
 main :: IO ()
 main = do
-    check_laws 
+    large_doc
+    check_laws
     check_invariants
     check_improvements
     check_non_prims -- hpc full coverage
@@ -62,6 +65,16 @@ myAssert :: String -> Bool -> IO ()
 myAssert msg b = putStrLn $ (if b then "Ok, passed " else "Failed test:\n  ") ++ msg
 
 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- Ordinary tests
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+large_doc :: IO ()
+large_doc = do
+  putStrLn "Testing large doc..."
+  evaluate largeDocRender
+  return ()
+
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 -- Quickcheck tests
 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/tests/TestLargePretty.hs b/tests/TestLargePretty.hs
new file mode 100644 (file)
index 0000000..6d181c4
--- /dev/null
@@ -0,0 +1,7 @@
+module TestLargePretty where
+
+import Text.PrettyPrint
+import Control.DeepSeq
+
+largeDocRender :: String
+largeDocRender = force $ render $ vcat $ replicate 10000000 $ text "Hello"