language-ocaml-0.1.31: test/Language/OCaml/PrettyPrinter/Structure/Test.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
module Language.OCaml.PrettyPrinter.Structure.Test
( test
, unitTests
) where
import Data.String.QQ
import Data.Text.Prettyprint.Doc
import Test.Tasty
import Language.OCaml.Parser.Generator.Parser (parseStructure)
import Language.OCaml.PrettyPrinter.Internal
import Language.OCaml.PrettyPrinter.TestUtils
structureTests :: [String]
structureTests =
[ [s|
open Lexing
open Ast
open Env
type 'a binary_tree =
| Leaf of 'a
| Tree of 'a binary_tree * 'a binary_tree
|]
]
unitTests :: TestTree
unitTests = testGroup "Language.OCaml.PrettyPrinter.Structure" $ []
++ map (mkPrettyPrinterTest
"structurePP"
parseStructure
(vcat . map structureItemPP)
) structureTests
test :: IO ()
test = defaultMain unitTests
-- _foo = debugPrettyPrinter structureP (vcat . map structureItemPP) (structureTests !! 0)