-- Unit tests for Test.Tasty.Parse module.
module ParseTest where
import Test.Tasty.Discover (parseConfig, Config(..),
Assertion, (@?=))
case_parseConfig :: Assertion
case_parseConfig =
parseConfig "foo" ["--module-suffix=MySuffix"]
@?=
Right Config {configModuleSuffix=Just "MySuffix" , noModuleSuffix=False}
case_parseConfigMissingArg :: Assertion
case_parseConfigMissingArg =
parseConfig "foo" ["--module-suffix"]
@?=
Left "foo: option `--module-suffix' requires an argument SUFFIX\n"
case_parseConfigEmptyArg :: Assertion
case_parseConfigEmptyArg =
parseConfig "foo" []
@?=
Right (Config Nothing False)
case_parseConfigInvalidArg :: Assertion
case_parseConfigInvalidArg =
parseConfig "foo" ["a"]
@?=
Left "foo: unexpected argument `a`\n"
case_parseConfigBooleanArg :: Assertion
case_parseConfigBooleanArg =
parseConfig "foo" ["--no-module-suffix"]
@?=
Right Config {configModuleSuffix=Nothing, noModuleSuffix=True}
case_parseConfigInvalidArgCombination :: Assertion
case_parseConfigInvalidArgCombination =
parseConfig "foo" ["--module-suffix=MySuffix", "--no-module-suffix"]
@?=
Left "foo: You cannot combine '--no-module-suffix' and '--module-suffix'\n"