{-# OPTIONS_GHC -Wno-orphans #-} module Main (main) where import Data.TreeDiff import Data.TreeDiff.Golden (ediffGolden) import Distribution.ModuleName (ModuleName (..)) import Distribution.Pretty (prettyShow) import System.FilePath ((</>)) import Test.Tasty (defaultMain, testGroup) import Test.Tasty.Golden.Advanced (goldenTest) import qualified Data.ByteString as BS import CabalDiff.Hoogle main :: IO () main = defaultMain $ testGroup "golden" [ testGroup "parser" [ golden "foldable1" , golden "optics-core" , golden "servant" , golden "singletons" , golden "vec" , golden "colour-2.3.4" , golden "colour-2.3.5" ] ] where golden name = ediffGolden goldenTest name goldenPath $ do contents <- BS.readFile hooglePath either fail return $ parseFile contents where goldenPath = "fixtures" </> (name ++ ".golden") hooglePath = "fixtures" </> (name ++ ".txt") ------------------------------------------------------------------------------- -- orphans ------------------------------------------------------------------------------- instance ToExpr ModuleName where toExpr mn = App "ModuleName" [toExpr (prettyShow mn)] instance ToExpr Key