1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
module Spec.Data.VersionSpec (main, spec) where
import Data.Proxy.Compat (Proxy(..))
import Data.Version (Version, showVersion)
import Spec.Utils (matchesTextShowSpec)
import Test.Hspec (Expectation, Spec, describe, hspec, parallel, shouldBe)
import Test.Hspec.QuickCheck (prop)
import TextShow (fromString)
import TextShow.Data.Version (showbVersion)
main :: IO ()
main = hspec spec
spec :: Spec
spec = parallel $ do
describe "Version" $
matchesTextShowSpec (Proxy :: Proxy Version)
describe "showbVersion" $
prop "has the same output as showVersion" prop_showVersion
-- | Verifies 'showVersion' and 'showbVersion' generate the same output.
prop_showVersion :: Version -> Expectation
prop_showVersion v = fromString (showVersion v) `shouldBe` showbVersion v
|