summoner-2.1.0.0: test/Test/Script.hs
module Test.Script
( scriptSpec
) where
import Test.Hspec (Spec, describe, it, shouldReturn)
import Summoner.Default (defaultGHC)
import Summoner.Settings (Tool (..))
import Summoner.Template.Script (scriptFile)
import qualified Data.Text as T
scriptSpec :: Spec
scriptSpec = describe "script golden tests" $ do
it "correctly creates cabal script" $
readScript "examples/cabalScript.hs" `shouldReturn` scriptFile defaultGHC Cabal
it "correctly creates stack script" $
readScript "examples/stackScript.hs" `shouldReturn` scriptFile defaultGHC Stack
-- | Read a script file, normalizing line endings (CRLF -> LF) for cross-platform compatibility
readScript :: FilePath -> IO Text
readScript path = T.filter (/= '\r') . decodeUtf8 <$> readFileBS path