tasty-hspec 0.2 → 1.0
raw patch · 2 files changed
+15/−10 lines, 2 filesdep +hspec-coredep ~hspec
Dependencies added: hspec-core
Dependency ranges changed: hspec
Files
- Test/Tasty/Hspec.hs +12/−8
- tasty-hspec.cabal +3/−2
Test/Tasty/Hspec.hs view
@@ -21,7 +21,7 @@ import Data.Proxy import Data.Typeable (Typeable) import qualified Test.Hspec as H-import qualified Test.Hspec.Core as H+import qualified Test.Hspec.Core.Spec as H import qualified Test.Hspec.Runner as H import qualified Test.QuickCheck as QC import qualified Test.QuickCheck.Random as QC@@ -43,22 +43,26 @@ testSpec :: T.TestName -> H.Spec -> IO T.TestTree testSpec name spec = H.runSpecM spec >>= fmap (T.testGroup name . join) . mapM specTreeToTestTrees -specTreeToTestTrees :: H.SpecTree -> IO [T.TestTree]-specTreeToTestTrees (H.SpecGroup name specs) = return . T.testGroup name . join <$> mapM specTreeToTestTrees specs-specTreeToTestTrees (H.BuildSpecs action) = action >>= fmap join . mapM specTreeToTestTrees-specTreeToTestTrees (H.SpecItem name item) = return [T.singleTest name (Item item)]+specTreeToTestTrees :: H.SpecTree () -> IO [T.TestTree]+specTreeToTestTrees (H.Node name spec_trees) = do+ test_trees <- join <$> mapM specTreeToTestTrees spec_trees+ return [T.testGroup name test_trees]+specTreeToTestTrees (H.NodeWithCleanup cleanup spec_trees) = do+ cleanup ()+ join <$> mapM specTreeToTestTrees spec_trees+specTreeToTestTrees (H.Leaf item) = return [T.singleTest (H.itemRequirement item) (Item item)] hspecResultToTastyResult :: H.Result -> T.Result hspecResultToTastyResult H.Success = T.testPassed "" hspecResultToTastyResult (H.Pending mstr) = T.testFailed ("test pending" ++ maybe "" (": " ++) mstr) hspecResultToTastyResult (H.Fail str) = T.testFailed str -newtype Item = Item H.Item+newtype Item = Item (H.Item ()) deriving Typeable instance T.IsTest Item where- run opts (Item (H.Item _ example)) progress =- hspecResultToTastyResult <$> example params id hprogress+ run opts (Item (H.Item _ _ _ example)) progress =+ hspecResultToTastyResult <$> example params ($ ()) hprogress where params :: H.Params params = H.Params
tasty-hspec.cabal view
@@ -1,5 +1,5 @@ name: tasty-hspec-version: 0.2+version: 1.0 synopsis: Hspec support for the Tasty test framework. description: Hspec support for the Tasty test framework. @@ -16,7 +16,8 @@ exposed-modules: Test.Tasty.Hspec other-extensions: DeriveDataTypeable build-depends: base ==4.*- , hspec >=1.11.0 && <1.12.0+ , hspec >=2 && <3+ , hspec-core >=2 && <3 , QuickCheck >=2.7 && <3 , tasty >= 0.8 && <1.0 , tasty-smallcheck >=0.1 && <0.9