module Test.Hspec.JUnit.Config
( JUnitConfig
, defaultJUnitConfig
, setJUnitConfigOutputDirectory
, setJUnitConfigOutputName
, setJUnitConfigOutputFile
, setJUnitConfigSuiteName
, setJUnitConfigSourcePathPrefix
, setJUnitConfigDropConsoleFormatting
, getJUnitConfigOutputFile
, getJUnitConfigSuiteName
, getJUnitPrefixSourcePath
, getJUnitConfigDropConsoleFormatting
) where
import Prelude
import Data.Maybe (fromMaybe)
import Data.Text (Text)
import System.FilePath ((</>))
data JUnitConfig = JUnitConfig
{ JUnitConfig -> FilePath
junitConfigOutputDirectory :: FilePath
, JUnitConfig -> FilePath
junitConfigOutputName :: FilePath
, JUnitConfig -> Maybe FilePath
junitConfigOutputFile :: Maybe FilePath
, JUnitConfig -> Text
junitConfigSuiteName :: Text
, JUnitConfig -> Maybe FilePath
junitConfigSourcePathPrefix :: Maybe FilePath
, JUnitConfig -> Bool
junitConfigDropConsoleFormatting :: Bool
}
defaultJUnitConfig :: Text -> JUnitConfig
defaultJUnitConfig :: Text -> JUnitConfig
defaultJUnitConfig Text
name =
JUnitConfig
{ junitConfigOutputDirectory :: FilePath
junitConfigOutputDirectory = FilePath
"."
, junitConfigOutputName :: FilePath
junitConfigOutputName = FilePath
"junit.xml"
, junitConfigOutputFile :: Maybe FilePath
junitConfigOutputFile = Maybe FilePath
forall a. Maybe a
Nothing
, junitConfigSuiteName :: Text
junitConfigSuiteName = Text
name
, junitConfigSourcePathPrefix :: Maybe FilePath
junitConfigSourcePathPrefix = Maybe FilePath
forall a. Maybe a
Nothing
, junitConfigDropConsoleFormatting :: Bool
junitConfigDropConsoleFormatting = Bool
False
}
setJUnitConfigOutputDirectory :: FilePath -> JUnitConfig -> JUnitConfig
setJUnitConfigOutputDirectory :: FilePath -> JUnitConfig -> JUnitConfig
setJUnitConfigOutputDirectory FilePath
x JUnitConfig
config =
JUnitConfig
config {junitConfigOutputDirectory = x}
setJUnitConfigOutputName :: FilePath -> JUnitConfig -> JUnitConfig
setJUnitConfigOutputName :: FilePath -> JUnitConfig -> JUnitConfig
setJUnitConfigOutputName FilePath
x JUnitConfig
config = JUnitConfig
config {junitConfigOutputName = x}
setJUnitConfigOutputFile :: FilePath -> JUnitConfig -> JUnitConfig
setJUnitConfigOutputFile :: FilePath -> JUnitConfig -> JUnitConfig
setJUnitConfigOutputFile FilePath
x JUnitConfig
config = JUnitConfig
config {junitConfigOutputFile = Just x}
setJUnitConfigSuiteName :: Text -> JUnitConfig -> JUnitConfig
setJUnitConfigSuiteName :: Text -> JUnitConfig -> JUnitConfig
setJUnitConfigSuiteName Text
x JUnitConfig
config = JUnitConfig
config {junitConfigSuiteName = x}
setJUnitConfigSourcePathPrefix :: FilePath -> JUnitConfig -> JUnitConfig
setJUnitConfigSourcePathPrefix :: FilePath -> JUnitConfig -> JUnitConfig
setJUnitConfigSourcePathPrefix FilePath
x JUnitConfig
config =
JUnitConfig
config {junitConfigSourcePathPrefix = Just x}
setJUnitConfigDropConsoleFormatting :: Bool -> JUnitConfig -> JUnitConfig
setJUnitConfigDropConsoleFormatting :: Bool -> JUnitConfig -> JUnitConfig
setJUnitConfigDropConsoleFormatting Bool
x JUnitConfig
config = JUnitConfig
config {junitConfigDropConsoleFormatting = x}
getJUnitConfigOutputFile :: JUnitConfig -> FilePath
getJUnitConfigOutputFile :: JUnitConfig -> FilePath
getJUnitConfigOutputFile JUnitConfig {Bool
FilePath
Maybe FilePath
Text
junitConfigOutputDirectory :: JUnitConfig -> FilePath
junitConfigOutputName :: JUnitConfig -> FilePath
junitConfigOutputFile :: JUnitConfig -> Maybe FilePath
junitConfigSuiteName :: JUnitConfig -> Text
junitConfigSourcePathPrefix :: JUnitConfig -> Maybe FilePath
junitConfigDropConsoleFormatting :: JUnitConfig -> Bool
junitConfigOutputDirectory :: FilePath
junitConfigOutputName :: FilePath
junitConfigOutputFile :: Maybe FilePath
junitConfigSuiteName :: Text
junitConfigSourcePathPrefix :: Maybe FilePath
junitConfigDropConsoleFormatting :: Bool
..} =
FilePath -> Maybe FilePath -> FilePath
forall a. a -> Maybe a -> a
fromMaybe
(FilePath
junitConfigOutputDirectory FilePath -> FilePath -> FilePath
</> FilePath
junitConfigOutputName)
Maybe FilePath
junitConfigOutputFile
getJUnitConfigSuiteName :: JUnitConfig -> Text
getJUnitConfigSuiteName :: JUnitConfig -> Text
getJUnitConfigSuiteName = JUnitConfig -> Text
junitConfigSuiteName
getJUnitPrefixSourcePath :: JUnitConfig -> FilePath -> FilePath
getJUnitPrefixSourcePath :: JUnitConfig -> FilePath -> FilePath
getJUnitPrefixSourcePath JUnitConfig {Bool
FilePath
Maybe FilePath
Text
junitConfigOutputDirectory :: JUnitConfig -> FilePath
junitConfigOutputName :: JUnitConfig -> FilePath
junitConfigOutputFile :: JUnitConfig -> Maybe FilePath
junitConfigSuiteName :: JUnitConfig -> Text
junitConfigSourcePathPrefix :: JUnitConfig -> Maybe FilePath
junitConfigDropConsoleFormatting :: JUnitConfig -> Bool
junitConfigOutputDirectory :: FilePath
junitConfigOutputName :: FilePath
junitConfigOutputFile :: Maybe FilePath
junitConfigSuiteName :: Text
junitConfigSourcePathPrefix :: Maybe FilePath
junitConfigDropConsoleFormatting :: Bool
..} =
(FilePath -> FilePath)
-> (FilePath -> FilePath -> FilePath)
-> Maybe FilePath
-> FilePath
-> FilePath
forall b a. b -> (a -> b) -> Maybe a -> b
maybe FilePath -> FilePath
forall a. a -> a
id FilePath -> FilePath -> FilePath
(</>) Maybe FilePath
junitConfigSourcePathPrefix
getJUnitConfigDropConsoleFormatting :: JUnitConfig -> Bool
getJUnitConfigDropConsoleFormatting :: JUnitConfig -> Bool
getJUnitConfigDropConsoleFormatting JUnitConfig {Bool
FilePath
Maybe FilePath
Text
junitConfigOutputDirectory :: JUnitConfig -> FilePath
junitConfigOutputName :: JUnitConfig -> FilePath
junitConfigOutputFile :: JUnitConfig -> Maybe FilePath
junitConfigSuiteName :: JUnitConfig -> Text
junitConfigSourcePathPrefix :: JUnitConfig -> Maybe FilePath
junitConfigDropConsoleFormatting :: JUnitConfig -> Bool
junitConfigOutputDirectory :: FilePath
junitConfigOutputName :: FilePath
junitConfigOutputFile :: Maybe FilePath
junitConfigSuiteName :: Text
junitConfigSourcePathPrefix :: Maybe FilePath
junitConfigDropConsoleFormatting :: Bool
..} = Bool
junitConfigDropConsoleFormatting