Cabal-3.4.0.0: tests/UnitTests/Distribution/Utils/CharSet.hs
{-# LANGUAGE CPP #-}
-- isAlpha and isAlphaNum definitions change from base to base
#if MIN_VERSION_base(4,12,0) && !MIN_VERSION_base(4,13,0)
#define HAS_TESTS
#endif
module UnitTests.Distribution.Utils.CharSet where
import Data.Char (isAlpha, isAlphaNum)
import Data.List (foldl')
import Test.Tasty (TestTree, testGroup)
import Test.Tasty.HUnit (testCase, (@?=))
import qualified Distribution.Utils.CharSet as CS
tests :: TestTree
tests = testGroup "Distribution.Utils.CharSet"
[ testCase "alphanum" $
CS.alphanum @?= foldl' (flip CS.insert) CS.empty
[ c | c <- [ minBound .. maxBound ], isAlphaNum c ]
, testCase "alpha" $
CS.alpha @?= foldl' (flip CS.insert) CS.empty
[ c | c <- [ minBound .. maxBound ], isAlpha c ]
, testCase "alpha is subset of alphanum" $
CS.union CS.alpha CS.alphanum @?= CS.alphanum
]